使用继承与嵌套主页面

3

问题概述:

我想创建一个母版页,然后从中创建一个嵌套的母版页,最后从中继承一个网页表单。

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

理想情况下,我希望网页表单可以访问这些继承的属性。但是,当我将我的网页表单的代码后端类从 System.Web.UI.Page 更改为 NestedMasterPage1 时,我收到一个 RRE,说我需要扩展类 'System.Web.UI.Page'。

我敢打赌,有一个更好的方法来做到这一点,但到目前为止我找不到。

感谢您的阅读!!!

复现步骤: 创建 Site1.Master 页面,并从该页面创建 NestedMasterPage1.master,再从中创建 WebForm1.aspx 网页表单。

在 Site1.Master 的代码后端创建公共属性 Foo

NestedMasterPage1.master 的代码后端创建公共属性 Bar

NestedMasterPage1 的代码后端改为继承自 Site1 而不是 System.Web.UI.MasterPage

将 Webform1.aspx 的代码后端改为继承自 NestedMasterPage1 而不是 System.Web.UI.Page

所有内容都编译完成,但会出现以下错误:

"Parser Error Message: 'WebApplication2.WebForm1' is not allowed here because it does not extend class 'System.Web.UI.Page'."

1个回答

4

您不能这样做;页面无法继承其母版页。

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


这个问题似乎是每个人第一次遇到时都会被绊倒,如果不理解底层实现,母版页是页面的子级有点违反直觉。 - Rex M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接