在子页里访问母版页的方法代码如下:
<%@ 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”文件中的后台代码有什么差别和联系?
<%@ 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”文件中的后台代码有什么差别和联系?
问题二 Accordion_Master控件 可能根本就不是服务器控件 后台代码是访问不到的
问题三 2种写法 在实现的效果是没差别的
findcontrol查找控件设置属性
SP.NET 提供两个用于管理可视元素和代码的模型,即单文件页模型和代码隐藏页模型。这两个模型功能相同,两种模型中可以使用相同的控件和代码。 通过代码隐藏页模型,可以在一个文件(.aspx 文件)中保留标记,并在另一个文件中保留编程代码。代码文件的名称会根据所使用的编程语言而有所变化。