【问题标题】:Using inheritance with nested master pages对嵌套母版页使用继承
【发布时间】:2012-03-18 12:05:53
【问题描述】:

问题总结:

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

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

理想情况下,我希望网络表单能够访问那些继承的属性,但是当我将网络表单的代码隐藏类从 System.Web.UI.Page 更改为 NestedMasterPage1 我收到一个 RTE,说我需要扩展类“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

一切正常,运行报错:

“解析器错误消息:'WebApplication2.WebForm1' 在这里不允许,因为它没有扩展类 'System.Web.UI.Page'。”

【问题讨论】:

    标签: asp.net master-pages


    【解决方案1】:

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

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

    【讨论】:

    • 这似乎在第一次出现时让每个人都感到困惑,如果不了解底层实现,母版页是页面的子页面可能有点违反直觉。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多