操作员 '!'不能应用于 '<null> 类型的操作数
Operator '!' cannot be applied to operand of type '<null>
我正在使用 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
或 string
。您必须将字符串(也可以是 null
)转换为布尔值,以便在 if 语句中使用它。这样的事情会起作用:
@{
bool isUserLoggedIn = ViewBag.UserLoggedIn ?? false;
}
@if (!isUserLoggedIn) {
<a onclick="javascript:UserSessionManager.UserLogout()">LogOut</a>
}
您只能使用 !
运算符,如果它是 comparable.So 确保您传递了 布尔值 variable.If 您不想这样做,那么你可能想要 UserLogout()
where UserLoggedIn == null
.
我正在使用 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
或 string
。您必须将字符串(也可以是 null
)转换为布尔值,以便在 if 语句中使用它。这样的事情会起作用:
@{
bool isUserLoggedIn = ViewBag.UserLoggedIn ?? false;
}
@if (!isUserLoggedIn) {
<a onclick="javascript:UserSessionManager.UserLogout()">LogOut</a>
}
您只能使用 !
运算符,如果它是 comparable.So 确保您传递了 布尔值 variable.If 您不想这样做,那么你可能想要 UserLogout()
where UserLoggedIn == null
.