对于<%=%>使用Mvc3 Razor的正确语法是什么?来自Mvc2

时间:2011-10-26 18:40:51

标签: javascript asp.net-mvc-3 syntax razor

在尝试使用Razor引擎将工作代码从Mvc2更新为Mvc3时,我们发现此语法不再有效。

<script type="text/javascript">
    var initialData = <% =  new JavaScriptSerializer().Serialize(Model) %>
</script>

之前的post表示这是“非常微不足道的”,但我们并未发现这一点。而sample所指向的似乎没有使用json2和JavaScriptSerializer()。

在本例中,我们可以选择使用替代方法;但是,知道上述行是否可以/应该将数据从@Model传输到javascript变量仍然很有价值。

1 个答案:

答案 0 :(得分:4)

@Html.Raw()相当于<%= %>,而@Html.Encode()相当于<%: %>

<script type="text/javascript"> 
    var initialData = @Html.Raw(new JavaScriptSerializer().Serialize(Model))
</script>