我刚刚将ASP.NET MVC应用程序升级到3.0版和Razor。
我的主页上有以下代码:
<script type="text/javascript">
/*@cc_on@*/
var LastUserSetting = @Html.Raw(Json.Encode(ViewData["LastUserSetting"] == "" ? "''" : ViewData["LastUserSetting"]));
</script>
在浏览器中,最终显示为:
var LastUserSetting = @Html.Raw(Json.Encode(ViewData["LastUserSetting"] == "" ? "''" : ViewData["LastUserSetting"]));
出现以下错误消息:“引用未定义的XML名称@Html”
这显然不是我想要的。
我错过了什么?我做错了什么?
非常感谢!
答案 0 :(得分:5)
您正在WebForms母版页中使用Razor代码。这不起作用。 Razor语法仅适用于Razor视图(cshtml或vbhtml)
因此,您需要切换回使用该主服务器中的WebForms语法,或切换到使用实际的Razor视图。
答案 1 :(得分:1)
尝试将剃刀代码放在单引号中:
<script type="text/javascript">
/*@cc_on@*/
var LastUserSetting = '@Html.Raw(Json.Encode(ViewData["LastUserSetting"] == "" ? "''" : ViewData["LastUserSetting"]))';
</script>