![](/img/trans.png)
[英]How to have Visual Studio 2012 returned compile errors on razor syntax error in “asp.net web page 2”? (Website package, not project or web app)
[英]Visual Studio Razor Page False Syntax Errors
每当我在剃刀页面上使用@符号时,例如:
<script type="text/javascript">
if( @(ProjectName.NameSpace.booleanVariable) ) {
doStuff();
}
</script>
然后我到处都收到语法错误通知,在转换为HTML之后一切正常:
<script type="text/javascript">
if(True) {
doStuff();
}
</script>
这只是一个简单的示例,但它也发生在其他地方。 如果有必要,我会列举其他例子。 我在其他stackoverflow问题中找不到答案,但是有了这样一个基本的问题,我认为这个问题已经存在。 鼓励链接到所述问题。
编辑:意识到我应该显示示例是Razor Page中的JS。
问题是:如何防止这些语法错误通知,以便可以轻松识别和管理实际的语法错误。
感谢Daniel Sanchez。
我成功抑制了这样的通知:
'@ProjectName.NameSpace.booleanVariable'
不过,史蒂夫(Steve)说,这不是最佳的编码实践,该值应与HTML存储在一起并通过js访问。
<input type="hidden" id="booleanVariable" value="@ProjectName.NameSpace.booleanVariable" />
谢谢!
我认为“ True”不是有效的JavaScript。
<script type="text/javascript">
if( Boolean(@Html.Raw(Json.Encode(ProjectName.NameSpace.booleanVariable))) ) {
doStuff();
}
</script>
Boolean()是JavaScript代码,以避免出现Razor警告消息。
Json.Encode将booleanVariable转换为“ true”或“ false”,
您可以将其替换为(ProjectName.NameSpace.booleanVariable?“ true”:“ false”)
我想你真正想要的是
@if(ProjectName.NameSpace.booleanVariable) {
{<script type="text/javascript">
doStuff();
</script>}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.