ASP.NET页面继承: Controls from base class are not initialized

标签 asp.net inheritance webforms

我正在使用基本页面和继承页面。基本页面工作正常。

在继承的页面中,我有以下@Page指令:

<%@ Page Title="" Language="C#" AutoEventWireup="True" Inherits="SubPage" CodeFileBaseClass="BasePage" CodeFile="SubPage.aspx.cs" %>

以及以下代码隐藏文件

public partial class SubPage: BasePage

问题是在类的Page_Load中,所有Controls都是null。

在这种情况下,母版页对我来说不是解决方案。

最佳答案

像通常使用的那样继承您的代码隐藏:

public partial class SubPage: BasePage

并在标记中执行以下操作:

<% @ Page Language="C#" MasterPageFile="~/Master.master" Title="SubPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">
    Main content.
</asp:Content>

http://msdn.microsoft.com/en-us/library/vstudio/wtxbf3hh(v=vs.100).aspx

编辑:

如果母版页不是您想要的,您必须这样做:

<%@ Page Title="" Language="C#" AutoEventWireup="True" Inherits="BasePage" CodeFileBaseClass="BasePage" CodeFile="SubPage.aspx.cs" %>

并复制下面 BasePage 的整个标记。代码隐藏再次以同样的方式继承:

public partial class SubPage: BasePage

关于ASP.NET页面继承: Controls from base class are not initialized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16241633/

相关文章:

asp.net - ASP .net 验证技术

asp.net - 在自定义声明中保留用户安全配置文件数据

c# - 存储过程 - INSERT 查询不起作用

c# - 从类继承

c# - 泛型和继承

asp.net - html5 输入类型日期时间值未显示在 ASP.NET 网络表单上

javascript - 我应该使用 FORM 标签吗?

c# - Javascript不获取隐藏文本框值?

asp.net - 无法获取我的EC2 Windows Server 2008(Web堆栈)实例来接收我的网站的发布

JavaScript 继承 Object.create() 未按预期工作