Jeg bruger ikke teksten fra textboxen til noget endnu ... er bare ved at teste, hvordan det kan gøres.
Men problemet er, at jeg ikke kan hente teksten ud af textboxen(e).
Der er fin tekst i textboxen(e) når jeg kører siden, men jeg kan ikke hive teksten ud, når jeg klikker på knappen. I min litObs får jeg blot teksten 01234. Hvilket vel indikerer, at jeg ikke kommer ind i den sidste if (if (txtName != null)) - altså at der ikke bliver fundet en "Textbox1" ... men alt det andet virker og looper, som forventet.
Har googlet til noget med viewstate = false ... som jeg har forsøgt med både på repeateren og på textboxene (både den før og efter postback). Men intet ser ud til at virke.
Har også (som det kan ses) forsøgt med individuelle ID'er til de dyn. genererede textboxe - men det gør ingen forskel.
Kan nogen gennemskue, hvad jeg gør forkert eller hvad jeg evt. mangler? Er ret grøn i det her, så det kan sagtens være noget helt elementært.
Er der nogen specielt årsag til at du ikke bare sætter din tekstbox direkte ind i stedet for dynamisk at generere den?
Databinder du inden du når til click-eventen? Hvis databindingen ikke køres inden vil ItemDataBound heller ikke køre inden og så eksisterer TextBox-kontrollen ikke når Click køres.
Næ ... jeg opdagede - mens jeg ledte efter en løsning på det her problem - at jeg sagtens kan sætte textboxen direkte ind. Uden brug af placeholder. Men det retter jeg bagefter. Går ikke ud fra, at det kan give de her problemer?!?
Jeg databinder ved page_load ... i en if (!IsPostBack). Går ud fra, at jeg ikke behøver databinde igen ved postback.
Hvis du indsætter tekstboksen i stedet for din placeholder vil den også være til at fange i din click-event.
Hvis du ikke databinder ved page_load køres din ItemDataBound - køres den ikke bliver dine dynamiske kontroller ikke oprettet - og bliver de ikke oprettet inden din click_event køres kan du ikke få fat i tekstboksene.
Troede egentlig ikke det kunne lade sig gøre, da jeg tænkte, at de automatisk genererede textboxe så ville få samme ID (TextBox1) - men det er åbenbart ikke et problem. Men hvis det virker - så var det da eller noget af en omvej, jeg foretog mig før.
Roder nu videre med det oprindelige problem. Forstår ikke helt det med at databinde både ved page_load og igen ved page_load/postback. Men tester lidt.
Kontrollerne er der med indhold fordi du har oprettet dem ved databind - men de er glemt igen ved postback medmindre de oprettes igen med præcis samme ID.
Jeg vil mene det både er bedst for performance og lettest for din udvikling at indsætte tekstboxen i din repeater - dynamisk oprettelse af kontroller er noget man benytter når man netop har brug for at det skal være dynamisk, fx hvis antallet af kontroller kan variere.
Hvis du vil teste min påstand så prøv at lav en simpel side hvor du i page_load tilføjer en kontrol dynamisk hvis siden ikke er i postback - og lav så fx en knap du kan foretage et postback med og se den dynamiske kontrol forsvinde efter postback.
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.