[C#] Gegenereerde textboxen uitlezen

Pagina: 1
Acties:

  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
Ik ben een webapplicatie in ASP.NET, C# aan het maken waarin via een druk op de knop een aantal door de gebruiker gedefinieerde textboxen in een Panel gegenereerd worden:

C#:
1
code


Het is de bedoeling dat na een druk op een andere knop deze waarden worden uitgelezen (dat uitlezen op zich is geen probleem, kan gewoon via controltype-check). Maar het probleem is dat wanneer op deze andere knop gedrukt wordt, alle textboxen (die zojuist gegenereerd zijn) verdwenen zijn (en de waarden in deze tekstboxen dus ook).
Deze waarden zijn niet via ViewState of Session te saven, omdat ik niet zou weten wanneer ik dat moet doen. De textboxen zijn namelijk pas volledig door de gebruiker ingevuld als hij op de knop drukt... Maar dan zijn de waarden weg 8)7

De vraag is dus: hoe bewaar ik waarden uit gegenereerde textboxen? :?

[ Voor 45% gewijzigd door hwschuur op 20-06-2003 17:15 ]


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Wellicht zit ik er helemaal naast hoor, maar voeg je de controls ook toe aan de controls collection van het form / page ? Want dat vermoed ik van niet. Bij een postback, weet de page dus niets meer van jouw gegenereerde textboxes.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
euj daar heb je wellicht een punt ;) even proberen

update:

ik heb nu de code
C#:
1
code


Zoals je ziet is toegevoegd
C#:
1
2
Page.Controls.Add(so);
Page.Controls.Add(tb2);


Alleen verdwijnen nog steeds alle controls binnen Panel1 als ik op de 'submitteer'-knop druk. :'(

[ Voor 176% gewijzigd door hwschuur op 20-06-2003 17:16 . Reden: code ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Ik zie eigenlijk nog steeds geen schokkende verschillen tussen de code's?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
Zoals je ziet is toegevoegd
Page.Controls.Add(so);
Page.Controls.Add(tb2);

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Erhm.. Ja, maar wat heeft dat met de opmerking van EfBe te maken?

Die heeft het over PostBacks en dat zie ik niet terug in jouw code...

[ Voor 36% gewijzigd door gorgi_19 op 20-06-2003 12:12 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
:? :?

Wat zou je bijvoorbeeld terug willen zien dan??

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

AppleWatcher schreef op 20 June 2003 @ 12:19:
:? :?

Wat zou je bijvoorbeeld terug willen zien dan??
Visual Basic .NET:
1
2
3
4
5
6
Private Sub Page_Load(sender as object, e as Eventargs) Handles MyBase.Load
    ' Doe hier wat acties met je controls
    If Page.IsPostback Then
        ' laad hier de pagina
    End if
End sub

Waarbij ik me trouwens afvraag of je niet de CreateChildControls method beter kan overriden en hier de controls in zet. Vervolgens kan je in je handler voor je load event de EnsureChildControls method aanroepen, dan bestaan je childcontrols in ieder geval.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
maar hoe save ik nou de waarden uit mijn gegenereerde textboxen??? :?

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Viewstate van die TextBoxen enablen?

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

AppleWatcher schreef op 20 juni 2003 @ 12:33:
maar hoe save ik nou de waarden uit mijn gegenereerde textboxen??? :?
Je moet ze eerst zichtbaar hebben en dan hoort de viewstate de boel op te vangen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
maar volgens mij bestaan ze nadat ik op die knop druk (in een nieuwe klasse dus) niet meer (omdat ze gegenereerd zijn??).. Als ik namelijk (bij button_click) opvraag hoeveel controls er in dat panel zitten, krijg ik de waarde 0 terug. En als ik ze opnieuw genereer zijn de waarden sowieso weg :(

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

AppleWatcher schreef op 20 June 2003 @ 12:39:
maar volgens mij bestaan ze nadat ik op die knop druk (in een nieuwe klasse dus) niet meer (omdat ze gegenereerd zijn??).. Als ik namelijk (bij button_click) opvraag hoeveel controls er in dat panel zitten, krijg ik de waarde 0 terug. En als ik ze opnieuw genereer zijn de waarden sowieso weg :(
Ja, dus eerst zichtbaar..
.Net vergeet bij dynamische controls dat je ze hebt aangemaakt, daarom moet je ze steeds aanmaken na een postback.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
hmm... dus als ik de gegenereerde textboxen weer zichtbaar maak bij een postback, dan zijn de waarden nog steeds bekend?? (opnieuw aanmaken bij een postback heeft natuurlijk geen zin, die waarden zijn dan weg)

update:
het probleem is, dat bij een postback de controls in dat panel wég zijn (dus niet alleen onzichtbaar).
het is de bedoeling dat de waarden uit die textboxen de postback 'overleven'. Dus hoe til ik die waarden over de postback heen?

[ Voor 37% gewijzigd door hwschuur op 20-06-2003 12:51 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

AppleWatcher schreef op 20 June 2003 @ 12:44:
hmm... dus als ik de gegenereerde textboxen weer zichtbaar maak bij een postback, dan zijn de waarden nog steeds bekend?? (opnieuw aanmaken bij een postback heeft natuurlijk geen zin, die waarden zijn dan weg)
Ik moet het iets duidelijker zeggen; zichtbaar is een beetje vaag, zeker aangezien een control een property visible heeft.

ASP.Net vergeet alle controls, die dynamisch zijn toegevoegd aan de controlcollection. 'Statische' controls, bijvoorbeeld de controls die je op een .ascx pagina zet, worden goed toegevoegd.

Bij iedere postback, laden, etc. zul je alle dynamische controls dus aan de controlcollection moeten toevoegen, voordat je er ook maar iets mee kan doen.
Zodra deze geladen zijn (in exact dezelfde volgorde, anders wordt de viewstate van de control gek. ;)) wordt de viewstate van de control weer aan de control gekoppeld en haal je de waarde er weer uit.

En zo teruglezend, is dit eigenlijk exact hetzelfde als wat EfBe heeft gezegd.... :+

En wat ik al eerder zei:
CreateChildControls method overriden, hier de controls in zetten en ze pas in een Page_load event met een waarde vullen.

[ Voor 13% gewijzigd door gorgi_19 op 20-06-2003 12:54 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
CreateChildControls method overriden, hier de controls in zetten en ze pas in een Page_load event met een waarde vullen.
Het eerste deel snap ik niet, maar de textboxen kunnen sowieso niet in een Page_load-event gevuld worden (dit gebeurt namelijk door de gebruiker :Y)). De textboxen kunnen wel gegenereerd worden in een Page.IsPostback... Dat ga ik even proberen.

  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
JAAAAAAAAAAA HET WERKT!! Gorgi bedankt!! _/-\o_

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

AppleWatcher schreef op 20 June 2003 @ 13:29:
JAAAAAAAAAAA HET WERKT!! Gorgi bedankt!! _/-\o_
Erhm.. ff een gek vraagje.. Waarom heb je al je code weg geedit? Zo hebben andere mensen, die dit topic via de search later opzoeken, niets meer aan het topic?

Op deze wijze leert iedereen hier van elkaar en worden we met z'n allen een stuk wijzer.. :)

Trouwens, je bedankt mij wel, maar EfBe verdient ook een groot stuk van de credit. :)

[ Voor 23% gewijzigd door gorgi_19 op 20-06-2003 23:05 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EfBe
  • Registratie: Januari 2000
  • Niet online
naah. De designer van dat hotseknots OO model achter asp.net, die verdient de credit. :)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com

Pagina: 1