【问题标题】:Get link to render as html rather than text json获取链接以呈现为 html 而不是文本 json
【发布时间】:2011-07-06 04:30:08
【问题描述】:

我通过使用$.post 发布到我的 MVC 应用程序中的操作方法来响应对 li 的点击。

我想用 Json 发回一个链接。

我可以将此链接呈现为 html 而不是文本吗?怎么样?

我试过这个,只是为了测试html:

var link = "<b>Hi</b>";
var encoded = Server.HtmlEncode(link);

那是&amp;lt;b&amp;gt;Hi&amp;lt;/b&amp;gt;

肯定只有一个 Json.encode 或 Visual Studio 方法我可以使用,而且我不必自己格式化它吗?谷歌搜索相当广泛,找不到任何关于 Json.encode 的信息

var link = "<b>Hi</b>";
var encoded = new JavaScriptSerializer().Serialize(link);

呈现的页面"\u003cb\u003eHi\u003c/b\u003e"

如果我只发送 link 变量,即:

var link = "<b>Hi</b>"

&lt;b&gt;Hi&lt;/b&gt; 渲染

这是发回的那一行:

return Json(new {Title = pTitle, Selection = pSelection, Link = pLink}, JsonRequestBehavior.AllowGet);

开始感到沮丧,wtf!


愚蠢的我,我没有在问题所在的地方发布足够的代码:

<script type="text/javascript">
    function TreeView_onSelect(e) {
    ...
    $.post(url, id, function (data, textStatus) {
    ...
    $("#panel-link").text(data.Link);
    }

$("#panel-link").text(data.Link);

obv 必须是

$("#panel-link").html(data.Link);

【问题讨论】:

  • 我意识到它不是一个链接,但它不会呈现为粗体,并且会出现与链接相同的问题,但可以节省我打字的时间......
  • 如果你只是不HtmlEncode字符串呢?

标签: javascript jquery html json model-view-controller


【解决方案1】:

尝试使用JavaScriptSerializer

var link = "<b>Hi</b>";
var encoded = new JavaScriptSerializer().Serialize(link);

【讨论】:

  • 嗯,导致 "\u003cb\u003eHi\u003c/b\u003e" 渲染
【解决方案2】:

尝试使用 javascript 的 decodeURI() 函数。

http://www.w3schools.com/jsref/jsref_decodeuri.asp

<script type="text/javascript">

var uri="mytest.asp?name=ståle&car=saab";
document.write(encodeURI(uri)+ "<br />");
document.write(decodeURI(uri));

</script>

上面代码的输出将是:

mytest.asp?name=st%C3%A5le&car=saab
mytest.asp?name=ståle&car=saab

【讨论】:

    【解决方案3】:

    我和你有同样的问题,害死我一整天, 我通过使用 Json.NET 解决了这个问题

    示例代码是:

    Newtonsoft.Json.JsonConvert.SerializeObject(link);
    

    参考 http://json.codeplex.com/documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多