ifステートメントの何が問題なのかわかりません。JavaScript内でモデルを使用しようとしています。
if (@Model !== null)
{
if (@Model.Level !== null)
{
//use @Model.Level
}
}
else
{
//use default
}
モデルはnullですが、それでも最初のifステートメントにステップインします(そして明らかに2番目のステートメントで中断します)。私が試した@Model
、!@Model
そして!=
それはまだいつもの手順。
私は何が間違っているのですか?(!==
構文エラーがあることを示す両方の下に波状の赤い線もあります)
トリプル方程式は、JavaScriptで型キャストなしで機能します。あなたの場合、null値ではない未定義のオブジェクトを取得する可能性があります。
例えば:
undefined === null //Do not cast when comparing, increased performance.
false
undefined == null //Do cast when comparing, decreased performance.
true
さらに、@ Model値がnullの場合、クライアント側にnull値は表示されません。次のような空の値が表示されます。
if( == null)
{
}
これにより、JavaScript側でエラーが発生します。ヌルチェックはサーバー側で実行する必要があります。そのため、コードの前に@値を付けて、サーバー側にする必要があります。
<script>
@if (Model != null) //Server side code.
{
if (Model.Level != null) //still server side code.
{
<text>
alert("your javascript here"); //write javascript on your screen.
</text>
}
}
</script>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加