【问题标题】:MasterPage Load ThemeMasterPage 加载主题
【发布时间】:2010-12-21 04:47:42
【问题描述】:

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

谢谢,

【问题讨论】:

    标签: c# themes master-pages preinit


    【解决方案1】:

    一种方法是创建一个Http Module (Rick van den Bosch blogs)

    【讨论】:

      【解决方案2】:

      除了模块之外,您可以考虑让所有页面都继承自定义 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
        }
      }
      

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-12
        • 1970-01-01
        • 1970-01-01
        • 2014-07-29
        • 1970-01-01
        • 2016-12-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多