在子页里访问母版页的方法代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Admin_NoticeList.aspx.cs" MasterPageFile="~/Admin/Admin.Master" Inherits="NanTunCoalMine.Admin_NoticeList" %>
<%@ MasterType VirtualPath="~/Admin/Admin.Master" %>
<script runat="server">
    new void Page_Load(Object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            Master.Accordion_Master.SelectedIndex = 0;
        }
    }
</script>问题一:这样写代码会覆盖掉对应的“aspx.cs”文件中的“Page_Load”方法,使页面初始化工作无法进行。比如:
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.bind();
                
            }
        }
        private void bind()
        {
            BLL_Notice notice = new BLL_Notice();
            DataTable dt = new DataTable();
            dt = notice.notice_select_all();
            GridView_WarningList.DataSource = dt;
            GridView_WarningList.DataBind();
        }
数据无法绑定。这里应该是发生了“Page_Load”方法的重载对吧。怎样可以让“new void Page_Load”不会影响“protected void Page_Load(object sender, EventArgs e)”。或是有那个方法可以替代“new void Page_Load”方法,在页面打开时完成相关操作???问题二:在“aspx.cs”中的“Page_Load”方法里无法像“<script runat="server">
    new void Page_Load(Object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            Master.Accordion_Master.SelectedIndex = 0;
        }
    }
</script>
”一样,访问“Master”中的“Accordion_Master控件”,这是为什么?
问题三:“<script runat="server">
    new void Page_Load(Object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            Master.Accordion_Master.SelectedIndex = 0;
        }
    }
</script>”这是什么方式的代码?为什么在“aspx”文件中也可以写,和“aspx.cs”文件中的后台代码有什么差别和联系?

解决方案 »

  1.   

    这是ASP.NET的两种网页代码模型...去看MSDN...http://msdn.microsoft.com/zh-cn/library/015103yb.aspx
      

  2.   

    问题一   你可以将后台代码的绑定写到前台就行了
    问题二  Accordion_Master控件 可能根本就不是服务器控件  后台代码是访问不到的
    问题三  2种写法 在实现的效果是没差别的
      

  3.   

    没区别
    findcontrol查找控件设置属性
    SP.NET 提供两个用于管理可视元素和代码的模型,即单文件页模型和代码隐藏页模型。这两个模型功能相同,两种模型中可以使用相同的控件和代码。 通过代码隐藏页模型,可以在一个文件(.aspx 文件)中保留标记,并在另一个文件中保留编程代码。代码文件的名称会根据所使用的编程语言而有所变化。