# Toinen artikkeli...toivottavasti...jos pääsen sen ääreen...jäsenten metodit vastaan OnItemDataBound pesittyjen tietoluettelojen valvontaan

<datetime class="hidden">2004-02-20T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, ASP.NET, C#, Performance -->
Hyvin yleinen kysymys [ASP.NET-foorumit](http://www.asp.net/forums)"Miten pesin yhden Toistin (tai DataList tai DataGrid) toisen sisälle?" No, tavallinen varastovastaukseni oli käyttää OnItemDataBound -tapahtumaa ja käyttää sitten FindControlia () löytääkseni Toistin mallin sisältä ja asettaakseni sen tietolähteen lapsinäkymään - sitten vain DataBindiä...Viime aikoina olen kuitenkin vastustanut tätä - osittain Farhan Muhammadin ja Matt Milnerin kirjassa (ei löydä linkkiä tarkempaan kirjaan), mutta [tämä](http://www.amazon.co.uk/exec/obidos/ASIN/1590590724/mostlylucid-21)Sekin on aika hyödyllinen), lähinnä se edellyttää jäsenmetodia. Sen sijaan, että yhdistät tapahtuman, määrität lapsitoistolaitteen tietolähteen seuraavasti (esimerkiksi)

&lt;Asp:Repeater id=FormatsRepeater DataSource="&lt;%# GetFormats(Container.DataItem)%&gt;Runat="Server"&gt;

, yhdessä muiden mallien kanssa jne. lapsitoistolle. Sitten koodilla (tavallisesti takana oleva koodi) tehdään näin:

Public DataView GetFormats (kohde DataItem)
{
DataRowView di = DataItem kuin DataRowView;
if(di!=null)
Return di.CreateChildView ("JobCount")
muuta
palautus nollaan;
}

- Niin.[BlogJet](http://blogjet.com/) Ei ole hyvä antaa minun muokata HTML:ää - lajittelen tämän myöhemmin...joka tapauksessa, kuten näette, hyvin yksinkertainen koodi (mainittakoon, että käytän DataSetiä, jossa on [Tietosuhde](http://www.dotnetjohn.com/articles.aspx?articleid=63) "JobCount". Mikä on tulos kaikesta tästä...no, Member Method -versio sekä (IMHO) on paljon helpompi kirjoittaa kuin ItemDataBound - on myös paljon nopeampi - joissakin testeissä, kaksi kertaa nopeampi! Toivon, että kirjoitan tästä isomman palan, jossa on joitakin tilastoja, jotta voin todistaa kantani - jos pääsen siihen käsiksi :-)