JQuery中的MVC null ViewBag

时间:2012-01-09 16:25:49

标签: asp.net-mvc c#-4.0 viewbag

我有一个没有价值的ViewBag。我甚至没有定义ViewBag.SelectVale 在我的控制器中所以我希望它是一个空值。

当我在JQuery中执行以下操作但不起作用时:

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

     // do something

     }

取而代之的是:

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

     // do something

     }

1 个答案:

答案 0 :(得分:9)

在.NET框架中null输出为空字符串,所以如果你看一下发送到浏览器的实际javascript,在第一种情况下会说:

if ('' == null)

......在第二种情况下,它会说:

if ('' == "")

大多数javascript程序员会告诉您只需将语句更改为:

if ('@ViewBag.SelectVale')

...因为空字符串在javascript中被视为布尔值时会计算为false

或者,因为这里似乎没有任何真正的动态发生,试试这个:

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

...这将避免输出“做某事”javascript,因为你知道什么时候你正在渲染SelectVale为空的页面。