06. januar 2008 - 01:07Der er
8 kommentarer og 1 løsning
Dynamisk oprettelse af tekst fra database
Jeg sidder og leger med en simpel gæstebog i asp.net, og er røget ind i følgende problem: Jeg vil gerne hente tekst ud fra min database (eksempelvis de seneste 10 indlæg) og arrangere det på en pæn måde. Jeg vil gerne være istand til at få vist navn, mailadresse, meddelse, osv... Jeg vil ligeledes gerne kunne benytte css til at formatere de data jeg får ud på siden. Jeg har altså fat i data fra databasen, og kan håndtere dem på c# siden, men hvordan får jeg smartest de små tekst bider ud på selve siden Guestbook.aspx? Jeg begyndte at rode med dynamisk oprettelse af labels, men dem kan jeg vel ikke formatere vha. css? Jeg mangler hjælp til at komme det sidste skridt?
Du kan prøve at kigge på en repeater-kontrol. Her kan du vise datasæt som har samme layout. Du har rimelig frihed til at formatere data indenfor hvert element og du kan vælge at lave forskellige templates til hver anden række, hvis du skulle have behov for dette. Du kan naturligvis kode dig til større frihed, men det lyder ikke til at det er den løsning du søger...
Jeg kunne godt tænke mig noget mere frihed, istedet for bare at hive en kontrol over. Dog dermed ikke sagt, at det ikke er den løsning jeg vil ende med at bruge. Men hvis jeg har tænkt mig at kode mig ud af problemerne, hvad er så vejen frem?
Med mindre du har tænkt dig at lave et total flydende layout, hvor de forskellige indlæg skal placeres tilfældigt rundt omkring på skærmen (selv her tror jeg faktisk en repeater kan hjælpe dig!), så er der vel ikke nogen grund til at gøre tingene mere komplicerede end allerhøjst nødvendigt...?
En label bliver blot renderet som et span-element, så det kan du style på samme måde som alle andre HTML-elementer.
Bare for at supplere så er jeg med på softspot's hold. Repeater eller DataGrid er den klart nemmeste tilgang til sådan en problemstilling. De er nemme at håndtere og har en håndfuld gode features du kan lege med senere, fx. paging og sortering.
tak til jer begge. Jeg er lidt langsom til at få lukket spørgsmålet, men en repeater viste sig at være præcis det jeg ledte efter. softspot er velkommen til at svare!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.