[英]ASP.NET MVC & JsonResult & jQuery returns encoded results… why?
我有一个与jQuery一起使用的ASP.NET MVC 3项目。 在某些时候,对一个返回类型为JsonResult
的控制器方法进行jQuery $get()
调用。 其中一个字段是HTML字段。
由于某种原因,它不会返回HTML,但会对其进行编码。
我已经尝试过HtmlEncode,HtmlDecode,HtmlString等...... - 没有用。
总是如此
"\u003cp\u003e" or "&<"
并且永远不会给出真实的HTML等
<p>some paragraph</p>
因此,jQuery将始终记下所有标记而不解析它们(例如段落不会显示为段落,但将与HTML标记一起编写)。 没必要说在DB中我没有编码的HTML本身。
帮助将不胜感激:)
谢谢
不知道你做错了什么,因为你已经完全显示了0代码。
但以下工作对我来说非常好,并且不会发生任何编码:
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult AjaxTest()
{
return Json(new { HtmlField = "<p>some paragraph</p>" }, JsonRequestBehavior.AllowGet);
}
}
视图:
<script type="text/javascript">
$.getJSON('/home/ajaxtest', function (result) {
$('body').append(result.HtmlField);
});
</script>
伟大的样本Darin Dimitrov。 将AjaxTest()添加到主控制器并删除
<script type="text/javascript">
$.getJSON('/home/ajaxtest', function (result) {
$('body').append(result.HtmlField);
});
在about.cshtml视图中,运行应用程序并选择about链接。
我不熟悉ASP.NET,但是“&amp;&lt;” 看起来你可能距离正确解码它只有一步之遥。 请参阅如何使用jQuery解码HTML实体? 如何完成其余的工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.