oprettelse af dynamiske tabels

Tags:    asp.net

Hej alle.

Jeg prøver at lave en asp.net side hvor jeg har indsat en tabel med følgende kode
Fold kodeboks ind/udCSharp kode 

Jeg har også indsat overstående kode ind under en knap. Mit peoblem er dog, efter jeg har trykket på knappen, og oprettet en tabel. Hvis jeg så trykker på knappen igen, så laver den ikke en ny tabel, men laver bare ændringer i den eksisterende.

Hvordan kan jeg gøre, så når jeg trykker på en knap, så kan jeg oprette en tabel efter den anden?

Håber i ved hvad jeg mener.

Tak på forhånd.



Indlæg senest redigeret d. 22.07.2011 14:12 af Bruger #16700
9 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 12 karma
Sorter efter stemmer Sorter efter dato
Den kode du har postet burde gøre netop det, men så vidt jeg kan forstå så har du postet koden for Page_Load, men problemet er i virkeligheden i den kode som du har under din knap? :)

Mvh.

Kasper (TSW)



Dynamisk oprettede controls skal oprettes hver gang siden loades - de bliver ikke gemt via ViewState ligesom controls du har i din markup. Hver gang du trykker på din knap, så laves der et postback, og fordi din tabel er dynamisk oprettet, forsvinder den, hvorefter din nye tabel tilføjes. Jeg vil skyde på at det er det der går galt :)

Mvh.

Kasper (TSW)



Du er i princippet nødt til at oprette dem hver gang din side loades. Hvis det bare er den samme tabel med det samme indhold der skal være flere af, så kan du jo gemme antallet af tables, fx i ViewState, og så oprette det antal når siden loades igen. Alternativt kan du muligvis gemme det hele i ViewState, men det kan give en del ekstra output og det er ikke lige noget jeg har erfaring med.

Hvad er det helt præcist du forsøger at lave? Det kan være der er en smartere måde at gøre det på :)

Mvh.

Kasper (TSW)



Med en statisk liste, så er der vel kun den ene, og dermed vil det vel give problemer hvis flere brugere bruger funktionen samtidig, i og med at de i så fald vil tilgå samme liste? Eller er det kun hvis selve klassen også er statisk? Jeg er ikke 100% sikker, da jeg ikke har prøvet noget lignende, men det kan godt være at du lige skal teste lidt på det :)

Mvh.

Kasper (TSW)



Den kode du har postet burde gøre netop det, men så vidt jeg kan forstå så har du postet koden for Page_Load, men problemet er i virkeligheden i den kode som du har under din knap? :)


Grunden til jeg har kode under pageload, er at jeg har nogle standard værdier i toppen af min table.
Koden under knappen er fuldstændig ens. Da jeg bare har kopiret. Men problemet er at, når jeg har trykken på knappen en gang, og oprettet min table. Så editere den bare den oprettede table hvis man trykker på knappen igen.

Kan ikke rigtig selv regne den ud.



Så hvordan løser jeg dette?

Skal man komme objektet af tabellen ind i et statisk array? Hvordan "gemmer" jeg de oprettede controls?

Vh



Ser ud til jeg fik løst det ved at gøre følgende
#1 efter min kode til at lave min tabel så tilføjede jeg

#2
Fold kodeboks ind/udCSharp kode 

#3
Fold kodeboks ind/udCSharp kode 

#4
Fold kodeboks ind/udCSharp kode 

#5
Fold kodeboks ind/udCSharp kode 


#4 wwwa(); er det der kalder min metode til at oprette min tabel. Hvor #3 er den sidste linje i den metode.

Men hvor vidt dette er slam kode (dårlig kode) er jeg ikke sikker på.



Hey Kasper. Jeg har også tænkt over hvordan det ville fungere med flere brugere.
Og det skal helt klart testes til døde inden det skal bruges rigtigt :p er stadig noget vej endnu. Men nu kom jeg over denne forhindring af oprettelse af tabeller. Så kan jeg se på et andet "problem" =)



Godt :). Husk at stemme!

Mvh.

Kasper (TSW)



t