我正在使用 MVC 5 ViewBag 并尝试这样做
@if (!ViewBag.UserLoggedIn) {
<a onclick="javascript:UserSessionManager.UserLogout()">LogOut</a>
}
但出现错误:
Operator '!' cannot be applied to operand of type '<null>'
最佳答案
在 if 语句中,只能有 true
或 false
(基本上是 boolean
),但属性 UserLoggedIn<如果未设置,
将不会存在于 ViewBag
上,因此将为 null。因此,ViewBag.UserLoggedIn
可以是 null
或 string
。您必须将字符串(也可以为 null
)转换为 bool 值才能在 if 语句中使用它。像这样的事情会起作用:
@{
bool isUserLoggedIn = ViewBag.UserLoggedIn ?? false;
}
@if (!isUserLoggedIn) {
<a onclick="javascript:UserSessionManager.UserLogout()">LogOut</a>
}
关于javascript - 运算符 '!' 无法应用于类型为 '<null> 的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43106954/