母版页中 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;
    }
}