动态更换asp.net中主题? 我想要实现的效果是,我的项目中有5个页面,有两个主题!在其中一个页面中我点击一个按钮,把5个页面的主题都更换成相同的!改一个页面的主题我会!我想要点一个按钮修改整站的主题!不知道怎么弄!请高手指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 theme可改变样式,布局Theme包括:CSS、Skin、MasterPage 在你的页面写 private void PreInit(object sender, EventArgs e) { var rr = Request.Cookies["theme haha"].Value; if (rr != null) this.Theme = rr; }然后就很简单了,你的设置页面只要通过Respones.Cookies来设置这个小甜饼然后Respone.Redirect到具有上述代码的页面来看这个效果就行了。你可以写到所有页面的父类中,这样就为所有页面提供了theme,并且每一个用户自己的theme风格都可以长期保存在浏览器端。 “整站”设置theme的观念还太小气了!使用cookie的作用是用户自己定义个人风格。 在五个页面的Page_PreInit事件中写入下:(用Session,也可以用Cookies protected void Page_PreInit(object sender, EventArgs e) { if (Session["myTheme"] != null) Page.Theme =Session["myTheme"].ToString();; }在某个页面的按钮事件中设置不同的皮肤文件: protected void Button1_Click(object sender, EventArgs e) { Session["myTheme"] = "SkinFile";//或SkinFile2等等 } 在Page_PreInit事件中写代码,Page.Theme = "..."; basePage wuyq11 真是勤奋啊佩服难道真是传说中的24小时在线? 按照你的方法,每个页面都要写private void PreInit(object sender, EventArgs e) { var rr = Request.Cookies["theme haha"].Value; if (rr != null) this.Theme = rr; }这样的代码,但是假如页面有一百多个,那不是很麻烦嘛!我的想法是,能不能点击按钮修改配置文件中的<pages theme="green">! 如果楼主确定sp1234提供的做法有效,那么你写个page基类,然后继承一下就可以了 所有的类都已经继承了Page了啊?不可能再继承一个类啊! 就像这样:Login:BasePageIndex:BasePage你的基类:BasePage:System.Web.UI.Page大多数情况下,即使你一行代码也不写,也要用自己的组件把所有的页面与微软的Page类隔离开来,控件也是这样,不要直接使用Lable这样的控件,而是做一次隔离使用MyLable:Lable,这样你随时可以通过写一次代码,被所有的组件继承 页面内容打印? 三层结构,关于cache的读写操作做在业务层还是数据层好? 关于调试 求药库、药房管理资料! 正则表达式提取某变量中“{}”中包含的值到字符型数组的方法[高手指点] 关于创建组件的问题 TreeView的事件该怎么写? 在asp.net里,如果webform里有多个button,怎样确定那一个为提交按钮? yohomonkey,xhan2000,Lostinet,policy2008,请到此领分 asp:TextBox 能在客户端赋值吗? telerik问题,很急!! asp.net网站用到的安全机制
Theme包括:CSS、Skin、MasterPage
{
var rr = Request.Cookies["theme haha"].Value;
if (rr != null)
this.Theme = rr;
}
然后就很简单了,你的设置页面只要通过Respones.Cookies来设置这个小甜饼然后Respone.Redirect到具有上述代码的页面来看这个效果就行了。你可以写到所有页面的父类中,这样就为所有页面提供了theme,并且每一个用户自己的theme风格都可以长期保存在浏览器端。
protected void Page_PreInit(object sender, EventArgs e)
{
if (Session["myTheme"] != null)
Page.Theme =Session["myTheme"].ToString();;
}
在某个页面的按钮事件中设置不同的皮肤文件:
protected void Button1_Click(object sender, EventArgs e)
{
Session["myTheme"] = "SkinFile";//或SkinFile2等等
}
basePage
按照你的方法,每个页面都要写
private void PreInit(object sender, EventArgs e)
{
var rr = Request.Cookies["theme haha"].Value;
if (rr != null)
this.Theme = rr;
}
这样的代码,但是假如页面有一百多个,那不是很麻烦嘛!
我的想法是,能不能点击按钮修改配置文件中的<pages theme="green">!
那么你写个page基类,然后继承一下就可以了
所有的类都已经继承了Page了啊?不可能再继承一个类啊!
Login:BasePage
Index:BasePage
你的基类:
BasePage:System.Web.UI.Page大多数情况下,即使你一行代码也不写,
也要用自己的组件把所有的页面与微软的Page类隔离开来,
控件也是这样,不要直接使用Lable这样的控件,而是做一次隔离使用
MyLable:Lable,这样你随时可以通过写一次代码,被所有的组件继承