问题是在@Section中的JS函数中放置一个C#变量会产生不正确的javascript(仅在MVC 4中).
在MVC 3中的JS函数中,一切都按预期执行.
@section test {
<script type="text/javascript">
$(function () {
alert(@DateTime.Now);
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
使用完全相同的代码并将其放在MVC4应用程序中,您将得到格式错误的JS.
页面上的HTML实际上将呈现以下内容:
<script type="text/javascript">
$(function () {
alert(12/27/2011 11:04:04 AM);
Run Code Online (Sandbox Code Playgroud)
并且html会发出
); }
请注意,不会生成结束脚本标记.
似乎JS函数中的结束大括号混淆了Razor中的结束大括号.
请注意,我还在_Layout.cshtml文件中声明了RenderSection("test",false").
回复有点旧,但我遇到了同样的问题,所以我提交了关于 Microsoft.Connect 的反馈报告,希望它应该在完整发布之前得到排序。
https://connect.microsoft.com/VisualStudio/feedback/details/720079/mvc-4-javascript-in-section-issue
| 归档时间: |
|
| 查看次数: |
11195 次 |
| 最近记录: |