Derefter i mit Button Click event forsøger jeg at fiske alle værdier frem fra mine textboxes.
<klip> Control ctrl = mainContent.FindControl("TimeTable"); Table timeTable = (Table)ctrl; foreach (TableRow row in timeTable.Rows) { foreach (TableCell cell in row.Cells) { foreach (Control ct in cell.Controls) { if (ct is TextBox) { TextBox box = (TextBox)ct; string value = box.Text; } } } } </klip>
Den finder mine controls og ID'er. Men box.Text er altid tom - selvom jeg udfylder den med en tekst.
Er der en venlig sjæl der kan forklare mig hvorfor box.Text ikke persisteres ved postback og hvad jeg skal gøre for at værdierne ikke forsvinder, således at jeg gemme dem i min DB?
Det eneste jeg næsten kunne gætte på var, at ikke alle elementer i din struktur få tildelt eget ID under oprettelsen så din textbox derfor bliver navngivet ud fra et andet hieraki. Hvis du debugger ned i din save ser ID'erne så korrekt ud i forhold til hvordan de er tildelt?
hvis du undlader at sætte id vil de, efter al sandsynlighed i hvert fald, blive tildelt samme dynamiske ID efter hver oprettelse og de vil derfor bevare deres state. At gøre det på den måde i dit setup giver også fin mening, men oftest vil man spørge på kontrollen med et kendt id fremfor en løkke som du kører og så vil det ikke kunne spille.
Men her et svar hvis jeg har været til hjælp.
Synes godt om
Ny brugerNybegynder
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.