是否覆盖了母版页中的PreInit?还是在MasterPage中可以继承PreInit?
答案 0 :(得分:2)
如果您的所有页面都有基页类,则可以应用以下内容:
public partial class SiteMaster : System.Web.UI.MasterPage
{
private string _theme = "Custom";
public string Theme
{
get { return _theme; }
set { _theme = value; }
}
}
public class BasePage : System.Web.UI.Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
var siteMaster = this.Master as SiteMaster;
if (siteMaster != null && !string.IsNullOrEmpty(siteMaster.Theme))
{
Theme = siteMaster.Theme;
}
}
}
答案 1 :(得分:0)
您无法直接将ASP.NET主题应用于母版页。如果向@Master指令添加主题属性,该页面将在运行时引发错误。
但是,在这些情况下,主题应用于母版页:
如果在内容页面中定义了主题。母版页在内容页面的上下文中被解析,因此内容页面的主题也应用于母版页。