Получить ссылку для отображения в виде HTML, а не текст JSON - PullRequest
1 голос
/ 01 марта 2011

Я отвечаю на клики li с помощью $.post для публикации метода действия в моем приложении MVC.

Я хочу отправить ссылку обратно в Json.

Могу ли я сделать эту ссылку визуализированной как HTML, а не как текст?как?

Я попробовал это, просто чтобы проверить HTML:

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

, который вышел как &lt;b&gt;Hi&lt;/b&gt;

Конечно, есть только Json.encode или визуальныйСтудийный метод, который я могу использовать, и мне не нужно форматировать его сам?Гуглил довольно широко и не могу найти ничего о Json.encode

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

отображаемой странице "\u003cb\u003eHi\u003c/b\u003e"

Если я отправлю только переменную link, то есть:

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

<b>Hi</b> рендеринг

Это строка, которая отправляет его обратно:

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);

Ответы [ 3 ]

2 голосов
/ 01 марта 2011

Попробуйте использовать JavaScriptSerializer :

var link = "<b>Hi</b>";
var encoded = new JavaScriptSerializer().Serialize(link);
0 голосов
/ 21 ноября 2013

У меня та же проблема с вами, и я убил меня весь день. Я решил эту проблему с помощью Json.NET

Пример кода:

Newtonsoft.Json.JsonConvert.SerializeObject(link);

Ссылка http://json.codeplex.com/documentation

0 голосов
/ 03 июня 2011

Попробуйте использовать функцию decodeURI () javascript.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...