对嵌套母版页使用继承



问题摘要:

我想创建一个母版页,并从中创建一个嵌套的母版页。

母版页应具有Foo属性,嵌套母版页应有Bar属性

理想情况下,我希望Web窗体能够访问那些继承的属性,但当我将Web窗体的代码隐藏类从System.Web.UI.Page更改为NestedMasterPage1时,我会收到一个RTE,说我需要扩展类"System.Web.UI.Bage"。

我打赌有更好的方法可以做到这一点,但到目前为止我还找不到。

感谢阅读!!!

复制步骤:创建Site1.Master并从该页面创建NestedMasterPage1.Master,然后从该页面新建WebForm1.aspx.

在Site1.Master的代码绑定上创建公共属性Foo

NestedMasterPage1.master的代码绑定上创建公共属性Bar

NestedMasterPage1的代码绑定更改为继承自Site1System.Web.UI.MasterPage

更改Webform1.aspx的代码隐藏,继承自NestedMasterPage1而非System.Web.UI.Page

一切都很复杂,运行时会出现以下错误:

"分析程序错误消息:此处不允许使用'WebApplication2.WebForm1',因为它没有扩展类'System.Web.UI.Page'。"

你不能那样做;页面不会继承其母版页。

相反,您可以将页面的Master属性强制转换为NestedMasterPage1以访问master类。

最新更新