Avatar billede beef12 Nybegynder
04. april 2010 - 18:37 Der er 4 kommentarer og
1 løsning

Problem med postback i ASP.NET

Jeg har to Controls; en PlaceHolder (FilterPlaceHolder) og en Button (AddFilterButton).

Jeg vil gerne have tilføjet en Table til FilterPlaceHolder ved click på AddFilterButton.

Jeg lavet en event listener på AddFilterButton og bygger følgende Table Control op som skal tilknyttes PlaceHolder:

Table FilterTable = new Table();
        TableRow row = new TableRow();
        TableCell cell = new TableCell();
        TextBox valueTextBox = new TextBox();
        Label label = new Label(); label.Text = "Value";
        cell.Controls.Add(label);
        cell.Controls.Add(valueTextBox);
        row.Controls.Add(cell);
        FilterTable.Rows.Add(row);
        FilterPlaceHolder.Controls.Add(FilterTable);

Problemet er at jeg ønsker at der skal tilføjes en ny tabel ved hvert klik og samtidig beholde de allerede oprettede tabeller i placeholderen. Som det er nu bliver der ved med kun at være en tabel i min placeholder uanset hvor mange gange jeg klikker på knappen.

Nogen ideer til hvad jeg gør galt?
Avatar billede keysersoze Guru
05. april 2010 - 11:29 #1
dynamisk tilføjede kontroller glemmes ved postback medmindre du opretter dem igen netop ved postback - så du bliver nødt til at lave en variabel, fx gennem din viewstate, til at holde styr på hvor mange ekstra kontroller du skal oprette ved hver postback.
Avatar billede beef12 Nybegynder
05. april 2010 - 15:18 #2
Men så mister jeg vel indholdet af min textbox som brugeren evt. har indtastet?
Avatar billede keysersoze Guru
05. april 2010 - 16:10 #3
nej - ikke hvis du sørger for at de bliver oprettet med samme ID.
Avatar billede beef12 Nybegynder
05. april 2010 - 16:18 #4
nå ok. fedt nok. jeg forsøger med viewstate løsningen så.

smid svar.

og tak for hjælpen.
Avatar billede keysersoze Guru
05. april 2010 - 18:38 #5
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester