![](/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.