在 MVC3 中,运行 razor 视图引擎,我的大括号真的搞砸了视图的解析。
例如,如果您有:
@using(Html.BeginForm()){
<div>hello!</div>
<script type="text/javascript">
$(document).ready(function () { alert("ready!"); });
</script>
}
您可能对脚本的大括号有疑问。尝试将其更改为:
@{ Html.BeginForm(); }
<div>hello!</div>
<script type="text/javascript">
$(document).ready(function () {
alert("ready!");
});
</script>
@{ Html.EndForm(); }
这可能是也可能不是您问题的答案,但我花了很长时间才弄清楚我的一些表格出了什么问题。不过,我并没有在其中嵌入脚本。它是条件逻辑的块,会破坏我的一切。
编辑
经过更多研究,我发现有人遇到的一个问题导致我找到了解决方案:aspnet.codeplex.com/workitem/7551。
我的提交消息(来自我无法再访问的代码库)表明它可能是错误的标记。即使我们使用的是 XHTML 1.1 doctype,编写违规页面的开发人员也喜欢使用大写的标签。他还有很多属性被有条件地编译和/或填充。例如:
<div class="something @myHelper(someFlag)"></div>
<div @{ isSomeFlag ? <text>class="asdf"</text> : "" }></div>
我的解决方案应该被视为临时修复。