asp.net-mvc - JQuery 中的 MVC 空 ViewBag

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

我有一个没有值(value)的 ViewBag。我什至没有定义 ViewBag.SelectVale 在我的 Controller 中,所以我希望它是一个空值。

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

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

     // do something

     }

有效的是这样的:

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

     // do something

     }

最佳答案

在 .NET 框架中,null 将输出作为空字符串,因此如果您查看发送到浏览器的实际 javascript,在第一种情况下它会说:

if ('' == null)

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

if ('' == "")

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

if ('@ViewBag.SelectVale')

... 因为当空字符串在 javascript 中被视为 bool 值时,它们的计算结果为 false

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

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

... 这甚至会避免输出“做某事”javascript,因为您知道在呈现页面时 SelectVale 为空。

关于asp.net-mvc - JQuery 中的 MVC 空 ViewBag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8791671/

相关文章:

c# - C#如何在数据库中搜索字符串

c# - Foreach 与来自 viewbag 的数据

css - VB.net 通过 MVC 站点中的 ViewBag 传递网格模板区域和网格模板列值

jquery - 你如何去掉单选框和复选框的默认图像

asp.net-mvc - 如何使用 PayPal 添加 "donate"按钮

javascript - 发出删除请求AJAX(ASP.NET MVC)

asp.net - 从 ViewBag 设置文本输入的值? ASP.NET MVC5

c# - 在 MVC4 中更改运行时的路由

.net - 自动化 IVR 回归测试

c#-4.0 - 如果封闭方法即将返回,我是否需要停止秒表?