在尝试使用Razor引擎将工作代码从Mvc2更新为Mvc3时,我们发现此语法不再有效。
<script type="text/javascript">
var initialData = <% = new JavaScriptSerializer().Serialize(Model) %>
</script>
之前的post表示这是“非常微不足道的”,但我们并未发现这一点。而sample所指向的似乎没有使用json2和JavaScriptSerializer()。
在本例中,我们可以选择使用替代方法;但是,知道上述行是否可以/应该将数据从@Model传输到javascript变量仍然很有价值。
答案 0 :(得分:4)
@Html.Raw()
相当于<%= %>
,而@Html.Encode()
相当于<%: %>
<script type="text/javascript">
var initialData = @Html.Raw(new JavaScriptSerializer().Serialize(Model))
</script>