每当我在剃刀页面上使用@符号时,例如:
<script type="text/javascript">
if( @(ProjectName.NameSpace.booleanVariable) ) {
doStuff();
}
</script>
然后我到处都收到语法错误通知,在转换为HTML之后一切正常:
<script type="text/javascript">
if(True) {
doStuff();
}
</script>
这只是一个简单的示例,但它也发生在其他地方。如果有必要,我会举出其他例子。除了其他stackoverflow问题之外,我找不到答案,但是有了这样一个基本问题,我认为这个问题已经存在。鼓励链接到所述问题。
编辑:意识到,我应该证明示例是Razor Page中的JS。
问题是:如何防止这些语法错误通知,以便可以轻松识别和管理实际的语法错误。
我认为“ 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>}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句