我的页面使用两个样式表form.css和styles.css设计,我想根据域名动态设置它们的路径。
以下是我为动态更改它们而编写的代码。它可以工作,但在切换到新主题之前会出现闪烁。如果不使用Page.Theme
属性,我如何设置页面样式和主题?
客户端
$(document).ready(function () {
function preloadFunc() {
var foldername = '<%= theme%>';
$('#lnkCssForm').attr('href', 'css/' + foldername + '/form.css');
$('#lnkCssStyles').attr('href', 'css/' + foldername + '/styles.css');
}
window.onpaint = preloadFunc();
});
服务器端(页面预初始化)
theme = Session["domainTheme"].ToString();
为什么要使用javascript(以及在dom上)?难怪这会引起"闪烁"。为什么不直接从输出带有样式的头的模板/partial/whatever输出路径?
<head>
<link rel="stylesheet" type="text/css" href="css/<%= theme %>/form.css" media="all">
<link rel="stylesheet" type="text/css" href="css/<%= theme %>/styles.css" media="all">
</head>
您不想使用Page.Theme
的原因是什么?这正是它的意义。。。