MasterPage加载主题

时间:2010-12-20 20:14:29

标签: c# themes master-pages preinit

在asp.net C#上, 我想在页面加载时更改主题,此操作需要PreInit事件,哪个主页没有。该问题的解决方案是什么?

谢谢,

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

除了模块之外,您可以考虑让所有页面都从定义PreInit的基页继承并相应地设置主题。

编辑评论。

没有那么多,只要确保你创建的页面继承自类似下面的BasePage类的类而不是默认的Page类,你应该设置它。

public class BasePage : Page
{
  public BasePage()
  {
    this.PreInit += new EventHandler(BasePage_PreInit);
  }

  protected void BasePage_PreInit(object sender, EventArgs e)
  {
    this.Page.Theme = theme; //Garner from appropriate resource
  }
}

希望有所帮助。