我正在尝试在注销并指向索引页面后隐藏菜单。 我有一个为每个html页面加载的布局页面。
这是代码:
注销时
$('#Logoutmenu').click(function (e) {
window.location.href = '@Url.Action("Index", "Home")';
sessionStorage.setItem("TipoUtente", null);
sessionStorage.setItem("Utente", null);
//window.location.href = 'Index';
$("#Loginmenu").removeClass("nav navbar-nav hidden").addClass("nav navbar-nav show");
$("#Logoutmenu").removeClass("nav navbar-nav show").addClass("nav navbar-nav hidden");
$("#topmenu").removeClass("nav navbar-nav show").addClass("nav navbar-nav hidden");
});
这是布局的文档就绪代码
$(document).ready(function () {
if (sessionStorage.getItem("Utente") == null) {
$("#Loginmenu").removeClass("nav navbar-nav hidden").addClass("nav navbar-nav show");
$("#Logoutmenu").removeClass("nav navbar-nav show").addClass("nav navbar-nav hidden");
$("#topmenu").removeClass("nav navbar-nav show").addClass("nav navbar-nav hidden");
}
else {
alert("w " + sessionStorage.getItem("Utente"));
$("#Logoutmenu").removeClass("nav navbar-nav hidden").addClass("nav navbar-nav show");
$("#Loginmenu").removeClass("nav navbar-nav show").addClass("nav navbar-nav hidden");
$("#topmenu").removeClass("nav navbar-nav hidden").addClass("nav navbar-nav show");
};
})
尽管语句的结果(sessionStorage.getItem(“User”)== null)为true,但代码的执行会进入'else'部分!!
如果删除Razor代码行(window.location.href = '@Url.Action("Index", "Home")';
),操作正确!!
我做错了什么?
答案 0 :(得分:0)
用''替换null就足够了。 sessionstorage函数只存储字符串,比较字符串为null,代码未正确执行。
@buffjape。 指令的顺序不会影响。