母版页中 gridview 事件的潜在差异
Potential differences in gridview events within a master page
我有一个包含几个子页面的母版页,这个母版页恰好包含一个网格视图,因为所有子页面都使用一个。我已经到了意识到需要将小的更改附加到各个子页面的网格视图 onrowdatabound 事件的阶段。
例如我有 3 页,A.aspx、B.aspx、C.aspx。这三个都使用网格并将不同的数据绑定到母版页中的网格视图。 A 和 B 几乎完全相同,没有任何问题,但 C 希望附加 A 和 B 不需要的行属性。
如何应用这些更改而不会对其他页面造成问题?
[可选]这是完全错误的方法吗,and/or我应该将它们分开页面吗?
Little diagram of my situation
您可以通过编程将事件绑定到 GridView。所以在第 C.aspx 页你可以这样做:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//find the gridview in the master page
GridView gv = Master.FindControl("GridView1") as GridView;
//add the event to the gridview
gv.RowDataBound += GridView1Master_RowDataBound;
gv.DataSource = mySource;
gv.DataBind();
}
}
protected void GridView1Master_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.BackColor = Color.Red;
}
}
我有一个包含几个子页面的母版页,这个母版页恰好包含一个网格视图,因为所有子页面都使用一个。我已经到了意识到需要将小的更改附加到各个子页面的网格视图 onrowdatabound 事件的阶段。
例如我有 3 页,A.aspx、B.aspx、C.aspx。这三个都使用网格并将不同的数据绑定到母版页中的网格视图。 A 和 B 几乎完全相同,没有任何问题,但 C 希望附加 A 和 B 不需要的行属性。
如何应用这些更改而不会对其他页面造成问题?
[可选]这是完全错误的方法吗,and/or我应该将它们分开页面吗?
Little diagram of my situation
您可以通过编程将事件绑定到 GridView。所以在第 C.aspx 页你可以这样做:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//find the gridview in the master page
GridView gv = Master.FindControl("GridView1") as GridView;
//add the event to the gridview
gv.RowDataBound += GridView1Master_RowDataBound;
gv.DataSource = mySource;
gv.DataBind();
}
}
protected void GridView1Master_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.BackColor = Color.Red;
}
}