从母版页更改主题

时间:2010-07-18 08:31:42

标签: asp.net dynamic master-pages themes

我有一个MasterPage,它有两个图像按钮和两个内容页面,我想要的是当点击一个图像按钮时---->主题改变了。

我知道MasterPage没有“OnPreInit”功能,并且必须在“OnPreInit”功能中更改主题......

这个问题还有解决办法吗?

提前致谢。

Baher

2 个答案:

答案 0 :(得分:3)

以下是“使用Imar Spaanjaars在C#和VB.Net中开始ASP.Net 4”一书中使用的过程。请注意,在书中他使用DropDownList来更改主题,但我相信使用图像按钮可以完成相同的操作:

  1. 在MasterPage中将代码添加到图像按钮单击事件以将主题名称保存到cookie中。设置cookie后,您将重定向回当前页面。
  2. 您需要创建一个继承自Page类的自定义BasePage,并使所有页面都继承自此BasePage。在此BasePage中,您将覆盖Page_PreInit以根据cookie的值加载选定的主题。重定向是运行Page_PreInit中的代码以使主题更改。
  3. 我知道这可能不是最佳选择,因为您需要将所有页面都更改为从新的BasePage而不是Page继承。

答案 1 :(得分:-1)

好吧,我找到了解决方案,我抓住了图像按钮点击,然后更改了主题

非常容易