Poco fa davanti ad un datalist mi sono posto una domanda molto semplice. I controlli datagrid, datalist e repeater come visualizzano la griglia a design-time? come creano quelle righe fittizie? Ho cercato di ascoltare la voce che mi diceva "Pensaci domaniiiiii... Vai a dormireeeeeee..." ma la curiosità era troppa. :)
Reflector alla mano mi sono tuffato nella classe DataGridDesigner e ho scoperto che, in fase di rendering, viene utilizzata la classe DesignTimeData (già il nome mi ha illuminato ;) ). Per la precisione viene invocato il metodo GetDesignTimeDataSource; questo, a sua volta, invoca il metodo CreateDummyDataTable per creare un DataTable e poi lo popola con il numero di record passato come parametro. Infine viene eseguito il databind del controllo e il gioco è fatto. Verificando le altre classi, ho visto che il concetto è lo stesso sia per il repeater che per il datalist.
Ora posso andare a letto più tranquillo. :)
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Entity Framework è lento! mmmmh, probabilmente sei tu che lo stai usando male!, il 7 ottobre 2022 alle 10:55
- Cosa penso di ASP.NET vNext, il 3 settembre 2014 alle 09:00
- E così AngularJS e DurandalJS convergono..., il 7 maggio 2014 alle 11:51
- Usare fiddler per simulare le risposte da un servizio, il 28 ottobre 2013 alle 08:00
- Tip: cosa fare quando Entity Framework Code-First Migrations smette di funzionare, il 18 gennaio 2013 alle 11:04
- Visual Studio 11 beta: le novità di Entity Framework 5.0 e WCF 4.5, il 2 marzo 2012 alle 23:08