我正在开发一个需要能够支持两个或更多外观的站点,在运行时可以变换.我希望能够通过CSS开关来处理更改,但看起来我需要为每个设计使用不同的母版页.
那么,在运行时设置母版页的最佳方法是什么?Page.MasterPageFile只能在Page.OnPreInit事件中设置.看起来解决方案是让我的所有页面都从处理PreInit事件的公共基础继承,或者使用HttpModule来执行此操作.
有什么建议?
我之前做过一次,我完全按照你的描述做了(使所有页面都从一个带有OnPreInit事件的自定义页面继承).此外,我在Global.asax.cs中有一个自定义的Application_PreRequestHandlerExecute,用于设置Page.StyleSheetTheme以进行不需要不同母版页的图像/ css更改.