0

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

谢谢,

4

2 回答 2

0

一种方法是创建一个Http 模块(Rick van den Bosch 博客)

于 2010-12-20T20:23:10.163 回答
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
  }
}

希望有帮助。

于 2010-12-20T20:27:55.317 回答