我有一个没有价值的ViewBag。我甚至没有定义ViewBag.SelectVale 在我的控制器中所以我希望它是一个空值。
当我在JQuery中执行以下操作但不起作用时:
if ('@ViewBag.SelectVale' == null){
// do something
}
取而代之的是:
if ('@ViewBag.SelectVale' == ""){
// do something
}
答案 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为空的页面。