用主题(App_Themes)做换肤功能,页面会加载App_Themes下所有CSS,能不能控制排除或只加载哪几个因为不同的页面,用的CSS不同,但又不想都加载进来浪费
解决方案 »
- GridView中LinkButton的RowCommand事件不触发
- if (String.IsNullOrEmpty(id))是什么意思?
- 获取机器MAC地址时的问题,请高手帮助
- 如何用javascript调用后台函数
- 我使用了session来保存变量值,可是为什么当两个用户在在同一个浏览器登录时,session里的变量值是一个样?
- 新手提问:IIS6能否安装在XP上?
- 简单问题,在线等
- 如何在ASP.NET中的后台代码中使用Attributes?
- 怎么在BS中做报表
- web服务器运行的不是asp.net1.1版的问题,急
- UpdateCommand 影响了预期 1 条记录中的 0 条
- c#该文件已在源编辑器之外被修改,是否要重新加载它
CSS全加载进来了,是不是要重写pagetheme的某些方法
<pages theme="Blue"/>
void Page_PreInit(Object sender, EventArgs e)
{
//设置页面所设置的主题
string theme="";
if (Request.QueryString["theme"] == null)
{
theme = "Red";
}
else
{
theme = Request.QueryString["theme"];
}
Page.Theme = theme;
//设置DropDownList控件的选中项
ListItem item = DropDownList1.Items.FindByValue(theme);
if (item != null)
{
item.Selected = true;
}
}
void SelectedIndexChanged(Object sender, EventArgs e)
{
//获取DropDownList选中项值,并进行页面重定向
string url = Request.Path + "?theme=" + DropDownList1.SelectedItem.Value;
Response.Redirect(url);
}
</script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>示例6-5</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<fieldset style="width: 210px">
<legend>动态加载主题</legend>
<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="SelectedIndexChanged"
AutoPostBack="True">
<asp:ListItem Value="Red">启用Red主题</asp:ListItem>
<asp:ListItem Value="Blue">启用Blue主题</asp:ListItem>
</asp:DropDownList>
<br />
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
</fieldset>
</div>
</form>
</body>
</html>
我一般css结构是common.css,index.css,innerpage.css,details.css
主页样式,内页和详细页样式(有人也这样搞font.css,layout.css,theme.css等)。
你会发现asp.net很贱的搞成这样:
index.aspx:
类似
<head>
common.css
index.css
innerpage.css
details.css
有多少读多少,(我没实验,丫,我放3000个css,看你崩溃不)
首页本来只用首页样式文件的,丫把内页也读进来,当然可以只做一个css文件,所以页面样式统统放到这个default.css,不过这样文件体积变大,同时css直接冲突几率增加,比如首页body我想1000px定宽,内页想全尺寸怎么办?
</head>
然后再页面的preInit中选择加载