部分错误中的ASP.NET MVC 4开发预览剃刀

Dav*_*ske 9 asp.net-mvc asp.net-mvc-4

好吧,我认为ASP.NET MVC团队在asp.net mvc 4的开发者预览版中发布了一个非常重要的错误,或者我做了一些愚蠢的事......这是重现的问题和步骤.

  1. 创建一个新的MVC 4移动应用程序
  2. 在布局中创建一个新部分(例如@RenderSection("head",false))
  3. 在控制器动作中只需将一条消息抛入ViewBag
  4. 然后在使用主布局的视图中,在下面添加以下代码.
@section head {
    $(function() { 
        var newVariableName = "@(ViewBag.Message)";
    });
}
Run Code Online (Sandbox Code Playgroud)

您会注意到剃刀解析器实际上认为已经为dom加载的结束括号上的jquery而不是该部分的结束括号完成了该部分.我在asp.net MVC 3应用程序中尝试了完全相同的代码,它没有任何问题.

有没有其他人在ASP.NET MVC 4开发人员预览版中遇到这个错误?

Dav*_*ske 6

快速解决此问题的方法是在java脚本周围使用<text> blocks </ text>.以下是ASP.NET MVC团队解决此错误之前的情况.

@{
<text>
    $(function()
    {
        var newVariableName = "@(ViewBag.Message)";
    });
</text>
}
Run Code Online (Sandbox Code Playgroud)