Nat*_*Pet 2 asp.net-mvc c#-4.0 viewbag
我有一个没有价值的ViewBag.我甚至没有在我的控制器中定义ViewBag.SelectVale,所以我希望它是一个空值.
当我在JQuery中执行以下操作但不起作用时:
if ('@ViewBag.SelectVale' == null){
// do something
}
Run Code Online (Sandbox Code Playgroud)
相反的是:
if ('@ViewBag.SelectVale' == ""){
// do something
}
Run Code Online (Sandbox Code Playgroud)
在.NET框架中null
输出为空字符串,所以如果你看一下发送到浏览器的实际javascript,在第一种情况下会说:
if ('' == null)
Run Code Online (Sandbox Code Playgroud)
......在第二种情况下,它会说:
if ('' == "")
Run Code Online (Sandbox Code Playgroud)
大多数javascript程序员会告诉你只需将你的语句更改为:
if ('@ViewBag.SelectVale')
Run Code Online (Sandbox Code Playgroud)
...因为空字符串false
在javascript中被视为布尔值时进行评估.
或者,因为这里似乎没有任何真正的动态发生,试试这个:
@if(ViewBag.SelectVale == null) {
<text>
// do something in javascript.
</text>
}
Run Code Online (Sandbox Code Playgroud)
...这将避免甚至输出"做某事"javascript,因为你知道什么时候你正在渲染SelectVale为null的页面.
归档时间: |
|
查看次数: |
5272 次 |
最近记录: |