在ASP.NET MVC3 Razor @ Html.Raw(Json.Encode不计算

Bar*_*rka 2 asp.net razor asp.net-mvc-3

我刚刚将ASP.NET MVC应用程序升级到3.0版和Razor.

我的主页中有以下代码:

   <script type="text/javascript">
        /*@cc_on@*/
        var LastUserSetting = @Html.Raw(Json.Encode(ViewData["LastUserSetting"] == "" ? "''" : ViewData["LastUserSetting"]));
    </script>
Run Code Online (Sandbox Code Playgroud)

在浏览器中,最终显示为:

var LastUserSetting = @Html.Raw(Json.Encode(ViewData["LastUserSetting"] == "" ? "''" : ViewData["LastUserSetting"]));
Run Code Online (Sandbox Code Playgroud)

带有以下错误消息:"引用未定义的XML名称@Html"

这显然不是我的意图.

我错过了什么?我做错了什么?

非常感谢!

And*_*ber 5

您正在WebForms母版页中使用Razor代码.这不起作用.Razor语法仅适用于Razor视图(cshtml或vbhtml)

因此,您需要切换回使用该主服务器中的WebForms语法,或切换到使用实际的Razor视图.