2

価値のないViewBagがあります。コントローラーでViewBag.SelectValeを定義していないので、null値であると予想します。

JQueryで次のことを行っても機能しない場合:

    if ('@ViewBag.SelectVale' == null){ 

     // do something

     }

代わりに機能するのは次のようなものです。

    if ('@ViewBag.SelectVale' == ""){ 

     // do something

     }
4

1 に答える 1

10

.NET Frameworkではnull、空の文字列として出力されるため、ブラウザに送信される実際のJavaScriptを見ると、最初のケースでは次のようになります。

if ('' == null)

...そして2番目のケースではそれは言うでしょう:

if ('' == "")

ほとんどのJavaScriptプログラマーは、ステートメントを次のように変更するように指示します。

if ('@ViewBag.SelectVale')

...空の文字列はfalse、javascriptでブール値として扱われるときに評価されるためです。

または、ここでは実際に動的なことが起こっているようには見えないので、これを試してください。

@if(ViewBag.SelectVale == null) {
    <text>
        // do something in javascript.
    </text>
}

...これにより、ページをレンダリングするときにSelectValeがnullであることがわかっているため、「何かをする」JavaScriptを出力することさえ回避されます。

于 2012-01-09T16:41:45.303 に答える