获取链接以 html 而不是文本 json 的形式呈现

发布于 2024-10-19 19:08:51 字数 1266 浏览 1 评论 0原文

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

我想以 Json 形式发回链接。

我可以将此链接呈现为 html 而不是文本吗?如何 ?

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

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

结果为 &lt;b&gt;Hi&lt;/b&gt;

当然只有一个 Json.encode 或 Visual Studio 方法我可以使用而且不需要自己格式化?在谷歌上进行了相当广泛的搜索,找不到任何关于 Json.encode

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

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

如果我只发送链接变量,即:

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

Hi 渲染

这是将其发送回的行:

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 必须是

$("#面板链接").html(data.Link);

I am responding to clicks on li's by using $.post to post to an action method in my MVC application.

I want to send a link back in Json.

Can I have this link render as html rather than text ? how ?

I tried this, just to test the html:

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

that came out as <b>Hi</b>

Surely there is just a Json.encode or visual studio method I can use and I don't have to format it myself? Have googled fairly extensively and can't find anything about an Json.encode

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

the page rendered "\u003cb\u003eHi\u003c/b\u003e"

If I send just the link variable, i.e:

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

<b>Hi</b> renders

This is the line which sends it back:

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

Starting to get frustrated, wtf!


Silly me, I didn't post enough code where the problem was:

<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 has to be

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟雨扶苏 2024-10-26 19:08:51

尝试使用 JavaScriptSerializer

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

Try using JavaScriptSerializer:

var link = "<b>Hi</b>";
var encoded = new JavaScriptSerializer().Serialize(link);
墨小墨 2024-10-26 19:08:51

尝试使用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

Try to use javascript's decodeURI() function.

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>

The output of the code above will be:

mytest.asp?name=st%C3%A5le&car=saab
mytest.asp?name=ståle&car=saab
他夏了夏天 2024-10-26 19:08:51

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

示例代码是:

Newtonsoft.Json.JsonConvert.SerializeObject(link);

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

I have the same problem with you and killing me whole day,
I solved this problem by using Json.NET

Sample code is :

Newtonsoft.Json.JsonConvert.SerializeObject(link);

Reference
http://json.codeplex.com/documentation

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文