2012-01-09 17 views
2

私は価値のないViewBagを持っています。私はそれがnull値であることを期待するので、私のコントローラのViewBag.SelectVale を定義していません。私はjQueryの中で次のようんが、動作しませんMVC null ViewBag in JQuery

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

    // do something 

    } 

何の代わりに動作するようなものです:

空の文字列として出力を取得し null .NET Frameworkで
if ('@ViewBag.SelectVale' == ""){ 

    // do something 

    } 
+1

しかし、ひげ剃りの評価を引用符で囲みます... JavaScriptで文字列を作る(ちなみに比較をしているところ)。あなたがあなたのかみそりのビューによって生成されるHTMLを見るなら、それは明らかでなければなりません... –

答えて

9

、ブラウザに送信されている実際のjavascriptを見ると、最初のケースでは次のようになります。

if ('' == null) 

...第2の場合には、それは言うだろう:

if ('' == "") 

ほとんどのJavaScriptプログラマはちょうどにあなたの文を変更するには、あなたを言うだろう:空の文字列がfalseに評価されているため...

if ('@ViewBag.SelectVale') 

彼らはJavaScriptのブール値として扱われます。

これを試してみてください、ここで起こって本当にダイナミックなものがあるように表示されませんので、

または、:あなたがしているとき、あなたが知っているので、「何かをする」のjavascriptを出力しても避けることができます

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

... SelectValeがnullであるページをレンダリングします。