我有一个被多个部门使用的C#MVC Web应用程序。我决定从沉重的东西中休息一下,找一些更轻松的东西。当用户访问网站时,我会检查我们的数据库以获取他们的信息,其中一个是我存储在Session["DeptId"]变量中的部门ID。
我能够使背景图像基于该会话["DeptId"]值而改变_Layout.cs.html"$(document(.ready((函数中的页面,该函数导致在页面出现后稍微加载背景,导致每次加载页面时都会闪烁。当然,如果我只是将正文中的背景设置为css页面中的单个图像,这种闪烁就不会发生。有没有办法在文件准备好之前让它发挥作用,以避免轻微的延迟?
_Layout.cshtml JQuery:
$(document).ready(function () {
if (@Convert.ToInt32(Session["DeptId"]) == 3) {
$('body').addClass("husky");
}
else {
$('body').addClass("stopLight");
}
});
CSS类:
.stopLight {
background-image: url("Images/StopLightBackground.jpg");
background-size: 100%;
}
.husky {
background-image: url("Images/HuskyBackground.jpg");
background-size: 100%;
}
是的,当然你可以直接在_Layout.cshtml
的body标签中这样做,比如:
<body class="@(Session["DeptId"] == "3" ? "husky" : "stopLight")">
</body>