解码从ASP.NET MVC 3 Controller返回的Json数据

时间:2011-11-16 14:58:02

标签: jquery asp.net-mvc-3 jquery-templates

我从控制器的操作中返回Json数据。

在客户端上,我正在使用jQuery模板,我按如下方式绑定数据:

var result = $("#jobsTmpl").tmpl(results.data);
$("#jobsContainer").empty().append(result);

从服务器返回的数据包含P个标签,我注意到它们显示为编码的html标签。

我如何解码返回的数据?

我将JavaScript放在外部文件中,因此我无法使用@HTML.Raw()帮助器。

由于


我使用了这个,但是在检查页面时,我注意到HTML是:

Consequat te olim letalis premo ad hos olim odio olim indoles ut venio iusto.Euismod,sagaciter diam neque antehabeo blandit,jumentum transverbero luptatum.Lenis vel diam praemitto molis usitas camur,nostrud eros opes verto epulae feugiat ad.Suscipit modo magna letalis amet et tego accumsan facilisi,meus.Vindico luptatum blandit ulciscor mos caecus praesent sed meus velit si quis lobortis praemitto,uxor。

注意双引号!仍然,< p>标签显示为标签而未被执行!

这是Json被退回:

{"data":
[
    {
        "Title":"Need a Website?",
        "Body":"\u003cp\u003eConsequat te olim letalis premo ad hos olim odio olim indoles ut ve \u003c/p\u003e"
    }
]

}

2 个答案:

答案 0 :(得分:2)

假设我已正确理解您的问题,您的JSON响应应该通过jQuery插入到页面中,因此@HTML.Raw() MVC助手在这里无关紧要。

请尝试以下代码:

var result = $("#jobsTmpl").html(results.data);

答案 1 :(得分:1)

我在配置jQuery Template插件时解决了这个问题:

{{html Body}}

这样,文本将被解码并正确显示。