En annan artikel i offing...hoppfullt ... om jag kommer runt till det ...Medlemsmetoder kontra OnItemDataBound för boade data List kontroller (Svenska (Swedish))

En annan artikel i offing...hoppfullt ... om jag kommer runt till det ...Medlemsmetoder kontra OnItemDataBound för boade data List kontroller

Friday, 20 February 2004

//

1 minute read

En mycket vanlig fråga i ASP.NET-forumär "Hur jag bo en Repeater (eller DataList eller DataGrid) inuti en annan?"; Tja, mitt vanliga lager svar brukade vara att använda OnItemDataBound händelsen sedan använda en FindControl () för att hitta Repeater inne i mallen och ställa in dess datakälla till barnvyn - sedan bara DataBind...Äntligen har jag dock gått emot detta - delvis baserat på lite i en bok av Farhan Muhammad och Matt Milner (kan inte hitta länken till den exakta boken, men Den här.är ganska användbart också), i huvudsak, innebär det att använda en medlem metod. Så, i stället för att koppla upp händelsen du helt enkelt ange DataSource of the Child Repeater enligt följande (till exempel)

<Asp:Repeater id=FormatsRepeater DataSource="<%# GetFormats(Container.DataItem)%>" Runat=" Server">

, tillsammans med resten av mallar etc för barn repeater. Sedan, i kod (koden bakom normalt), du helt enkelt göra detta:

offentlig DataView GetFormats(objektdataPunkt) { DataRowView di = DataPunkt som DataRowView; Om (di!=null) Return di.CreateChildView("JobCount"); annat Återlämnande ogiltigt. }

  • Vad är det med dig?Bloggjet Ordförande är inte bra på att låta mig ändra HTML - Jag kommer att sortera detta senare ... i alla fall, som du kan se, mycket enkel kod (faktiskt, bör nämna, Jag använder en DataSet med en Datarelation heter JobCount). Vad är resultatet av allt detta ... ja, Medlemsmetoden version, liksom (IMHO) är mycket lättare att skriva än PartikelDataBound version - är också MYCKET snabbare - i vissa tester, dubbelt så snabbt! Hur som helst, Jag kommer förhoppningsvis att skriva en större bit på detta med vissa statistik för att bevisa min poäng - om jag kommer runt till det :-)
Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.