簡體   English   中英

Visual Studio Razor頁面錯誤語法錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM