Я использую это сообщение в качестве руководства , подробно описывающее, как использовать jQuery с jTemplates для вставки ответа JSON в шаблон.
Моя проблема в том, что один из возвращенныхполя (с именем Description) содержат HTML, но скобки HTML кодируются в \ u003C и \ u003e.
Вот HTML-код (в поле Description), который возвращает сервер:
<a href="/en/Yokota/User/Show/Chad">Chad</a> updated their ad, <a href="/en/Yokota/Ad/Show/100">Validation Test Ad Again</a>, @<a href="/en/Yokota">Yokota</a>
Вот как выглядит ответ JSON:
[{"TypeOfActivity":"0","Description":"\u003ca href=\"/en/Yokota/User/Show/YokotaTour\"\u003eYokotaTour\u003c/a\u003e posted \u003ca href=\"/en/Yokota/Ad/Show/166\"\u003eOne of the best for sure\u003c/a\u003e for sale @\u003ca href=\"/en/Yokota\"\u003eYokota\u003c/a\u003e","DateHappened":"6/23/2010 12:26:55 AM"}]
Обратите внимание на «\ u003c» или «\ u003e».Они выглядят как юникод, но почему это происходит?Вот jQuery, выполняющий вызов ответа JSON:
$.getJSON("<%= Url.Action("List", "Activity") %>",
function(data){
$("#aLog").setTemplate($("#templateHolder").html());
$("#aLog").processTemplate(data);
});
UPDATE
И вот как выглядит источник, когда страница полностью загружена (View> Page Source in Firefox):
<a href="/en/Yokota/User/Show/Chad">Chad</a> updated their ad, <a href="/en/Yokota/Ad/Show/100">Validation Test Ad Again</a>, @<a href="/en/Yokota">Yokota</a>
Может быть, потому, что приближается 3 часа ночи, но я в тупике ... любая помощь очень ценится - спасибо!
Обновление 2
public JsonResult List()
{
IList<ActivityContract> contracts = new List<ActivityContract>();
var activityList = _db.Activity.ByBaseID(CurrentBase.BaseID).OrderByDescending(a => a.DateHappened);
foreach (var a in activityList) {
contracts.Add(new ActivityContract { TypeOfActivity = a.TypeOfActivity.ToString(), Description = a.Description, DateHappened = a.DateHappened.ToString() });
}
return Json(contracts, JsonRequestBehavior.AllowGet);
}