我正在使用基本页面和继承页面。基本页面工作正常。
在继承的页面中,我有以下@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/