【发布时间】:2010-12-21 04:47:42
【问题描述】:
在 asp.net C# 上, 我想在页面加载时更改主题,此操作需要 PreInit 事件,而 Masterpage 没有。该问题的解决方案是什么?
谢谢,
【问题讨论】:
标签: c# themes master-pages preinit
在 asp.net C# 上, 我想在页面加载时更改主题,此操作需要 PreInit 事件,而 Masterpage 没有。该问题的解决方案是什么?
谢谢,
【问题讨论】:
标签: c# themes master-pages preinit
【讨论】:
除了模块之外,您可以考虑让所有页面都继承自定义 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
}
}
希望对您有所帮助。
【讨论】: