在运行时设置ASP.NET母版页?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (74)

我正在开发一个需要能够支持两个或更多外观的站点,在运行时可以变换。我希望能够通过CSS开关来处理更改,但看起来我需要为每个设计使用不同的母版页。

那么,在运行时设置母版页的最佳方法是什么?Page.MasterPageFile只能在Page.OnPreInit事件中设置。看起来解决方案是让我的所有页面都从一个处理PreInit事件的公共基础继承,或者使用HttpModule这样做。

任何建议?

提问于
用户回答回答于

我之前做过一次,我完全按照你的描述做了(使所有页面都从一个带有OnPreInit事件的自定义页面继承)。另外,我在Global.asax.cs中有一个自定义Application_PreRequestHandlerExecute,用于设置Page.StyleSheetTheme,用于执行不需要不同母版页的图像/ css更改。

用户回答回答于

处理PreInit并插入加载正确母版页所需的一行代码就足够了。

this.Page.MasterPageFile = "~/default.master";

扫码关注云+社区

领取腾讯云代金券