我正在使用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
将不存在于ViewBag.UserLoggedIn
上,因此该属性为null。因此null
可以是string
或null
。您必须将字符串(也可以是)转换为布尔值,以便在if语句中使用它。这样的事情会起作用:
@{
bool isUserLoggedIn = ViewBag.UserLoggedIn ?? false;
}
@if (!isUserLoggedIn) {
<a onclick="javascript:UserSessionManager.UserLogout()">LogOut</a>
}
关于javascript - 运算符“!”不能应用于类型为'<null>的操作数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43106954/