我只是想从控制器(使用Razor语法的MVC3)中获取JSON字符串到客户端浏览器中...

在“我的控制器”中,我使用一个包含int和列表的简单对象(测试)来执行此操作。

var jasonData = new JavaScriptSerializer().Serialize(test);
ViewBag.JasonData = jasonData;


在视图中,我这样做:

<script type="text/javascript">
    var initialData = @(ViewBag.JasonData);
</script>


Visual Studio显示的数据看起来不错,但是当它最终出现在浏览器中时,它在所有数据周围都有转义代码,这不好。

&var initialData = {&quot;DateId&quot;:32,&quot;Scores&quo ....


这应该很容易!我究竟做错了什么??

最佳答案

使用@Html.Raw()防止数据编码,如下所示:

<script type="text/javascript">
    var initialData = @Html.Raw(ViewBag.JasonData);
</script>

09-25 19:09