Peter Bucher - Mein Experiment, meine Spielereien, meine Welt...   ·   Stefan Falz   ·   Jürgen Gutsch   ·   Golo Roden   ·   ASP.NET Zone   ·   Microsoft ASP.NET
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe

Nach Event an die GridViewRow kommen, von dem das auslösende Control stammt

Diese Frage kommt ab und zu in den Foren, die Lösung ist denkbar einfach.

Bei einem Button der in einer GridViewRow steckt, kann im Handler bspw. so auf die korrespondierende GridViewRow zugegriffen werden:

protected void Button_Click(object sender, EventArgs e) {
GridViewRow = (GridViewRow)(sender as Control).NamingContainer;
}

Das selbe bei anderen Controls, die einen Event auslösen können:

protected void List_SelectedIndexChanged(object sender, EventArgs e) {
    GridViewRow = (GridViewRow)(sender as Control).NamingContainer;
}

Erklärung:
NamingContainer steht für .Parent.Parent.
Da das eventauslösende Control in einer Hierarchie steht, kann mithilfe dieser Eigenschaften,die Hierarchie hinaufgeklettert werden.
Veröffentlicht Mittwoch, 17. September 2008 11:55 von Peter Bucher

Kommentare

Keine Kommentare
Anonyme Kommentare sind nicht zugelassen