2017-04-25 1 views
0

Ich habe eine Master-Seite, die ein paar untergeordneten Seiten hat, diese Masterseite geschieht eine Rasteransicht enthalten, da alle untergeordneten Seiten ein verwenden. Ich bin zu dem Stadium gekommen, in dem ich festgestellt habe, dass kleine Änderungen an das Rasteransicht-onrowdatabound-Ereignis für einzelne untergeordnete Seiten angehängt werden müssen.Potentialdifferenzen in gridview Ereignisse innerhalb einer Masterseite

Als Beispiel habe ich drei Seiten, A.aspx, B.aspx, C.aspx. Alle drei verwenden das Raster und binden unterschiedliche Daten an die Rasteransicht auf der Masterseite. A & B sind ziemlich identisch und es gibt keine Probleme, aber C möchte Zeilenattribute angehängt werden, die A & B nicht benötigen.

Wie kann ich diese Änderungen zu übernehmen, ohne Probleme zu den anderen Seiten verursacht?

[Optional] Ist das der komplette falsche Weg zu gehen, und/oder soll ich sie mache separate Seiten?

Little diagram of my situation

Antwort

0

Sie können ein Ereignis zu einem Gridview programmatisch binden. So in Seite C.aspx könnten Sie so etwas tun:

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; 
    } 
} 
Verwandte Themen