【发布时间】:2016-08-10 14:16:58
【问题描述】:
所以有些奇怪,下面是警报值:
- consumerSupportEditableRole = true
- superAdminRole = 假
- combinedRole = 假
但奇怪的是,combinedRole 上的警报给了我 consumerSupport/ConsumerContact/GetEmailLog。因此,出于某种邪恶的原因进入 if 块。我希望它 转到 else 块,警报应该吐出 Implementation/Organization/GetEmailLog
var consumerSupportEditableRole = '@(Roles.IsUserInRole("Consumer Support Editable") ? "true" : "false")';
var superAdminRole = '@(Roles.IsUserInRole("Super Admin") ? "false" : "true")';
var combinedRole = consumerSupportEditableRole && superAdminRole
alert("consumerSupportEditableRole: " + consumerSupportEditableRole);
alert("superAdminRole: " + superAdminRole);
alert("superAdminRole && consumerSupportEditableRole: " + combinedRole);
if (combinedRole)
{
var url = '@Url.Action("GetEmailLog", "ConsumerContact", new { Area = "ConsumerSupport" })';
}
else
{
var url = '@Url.Action("GetEmailLog", "Organization", new { Area = "Implementation" })';
}
【问题讨论】:
-
不要使用字符串来保存布尔值,你会很可爱。
标签: javascript if-statement logic