繁体   English   中英

ASP.NET MVC和JsonResult&jQuery返回编码结果......为什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM