lørdag den 10. marts 2012

ASP.NET Repeatere nested

For at prøve lidt forskellige ting af har jeg under kompetencer nestet flere repeatere dynamisk fra min codebehind.
Oftest laver man sin repeater i markup og så databinder man den i sin codebehind, men jeg ville gerne prøve at udfordre mig selv lidt.
Jeg ville have titler for forskellige områder (teknologi, kompetencer etc) og så listet de skills der var under disse områder.
Dette kunne jeg enten gøre med at i mine LINQ statements kunne jeg groupe dem således jeg ville have titel som en property, og have en liste med kompetencer som en anden propery i mit var resultat fra mit LINQ statement (dette skulle gøres i min codebehind).

For at udfordre mig selv lidt mere valgte jeg at lave det som repeatere indeni i repeatere, for jeg kan godt lide at prøve grænser af og lære nyt.
Så jeg startede med at lave en div (content) i min markup som ville være den jeg putter mine repeatere (og dermed det der kommer ud af dem) ind i.


Så jeg lavede en repeater der udskrev alle titler som det eneste og puttede denne ind i.
Nu var listen med titler udskrevet, men manglede selve indholdet som jo er de kompetencer der passer til titlen.
Dette gjorde jeg ved at lave endnu en repeater til at udskrive alle mine kompetencer til titlen.
Så proceduren er at lave en repeater der udskriver titlen, derefter en div der holder alle mine kompetencer. Derefter laver man en ny repeater der udskriver kompetencerne til denne titel, og tilføjer den til div'en der skal holde alle kompetencerne.
Dette er fordi at det sted repeateren tilføjes er der hvor outputtet af denne repeater bliver placeret.

Jeg havde lidt travlt så fik ikke lavet den sidste repeater der skulle lave boksene til at vise mit kompetence niveau, men dette ville blot være at tilføje den til den div som skulle indeholde disse.

Og må sige jeg er egentligt meget godt tilfreds med resultatet. Der er altid noget man ikke er helt tilfreds med, men det vigtigste er data er derude så kan designet altid komme.

Ingen kommentarer:

Send en kommentar

Kan du lide mit indlæg, har en kommentar, forslag eller andet på hjerte så skriv venligst