Toon posts:

[ASP.NET] User Control

Pagina: 1
Acties:

Verwijderd

Topicstarter
Om een formulier in te vullen moeten vijf stappen doorlopen worden.

Voor de gebruiksvriendelijkheid heb ik een tabel gemaakt met daarin de stappen. Hieronder een simpel voorbeeld zoals het moet zijn als de gebruiker bij stap twee is.

Stap 1
Stap 2
Stap 3
Stap 4
Stap 5

Graag wil ik dit in een User Control zetten. Mijn vraag is hoe de User Control (de tabel met stappen dus) kan weten, of die juist kan laten weten, bij welke stap de WebForm is waarop hij getoond wordt.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

Querystring gebruiken?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Tja, ik hou niet zo van de QueryString... willen gebruikers nog wel eens mee spelen... Kan het niet anders?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 29 maart 2004 @ 14:09:
[...]


Tja, ik hou niet zo van de QueryString... willen gebruikers nog wel eens mee spelen... Kan het niet anders?
Ja, dynamische controls, maar of je daar vrolijk van wordt.. :X

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Kan je dat anders niet bijhouden mbhv een ViewState variable binnen je UserControl?

https://fgheysels.github.io/


  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 26-05 08:08
Dit is wat je zoekt lijkt me: http://www.superexpert.com/default.aspx?id=107

[ Voor 5% gewijzigd door Kawa op 29-03-2004 14:11 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 gokt dat http://www.ftponline.com/.../magazine/columns/aspnet/ eerder in de buurt komt.. :P Anders blijf je bezig met panels.. :X

Ow, dat is als je met meerdere controls gaat werken... :X

anders is de optie van whoami ook goed te doen.. :P Nadeel is alleen dat door de viewstate zaken best traag kunnen worden.

[ Voor 26% gewijzigd door gorgi_19 op 29-03-2004 14:16 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
gorgi_19 schreef op 29 maart 2004 @ 14:15:
[...]

anders is de optie van whoami ook goed te doen.. :P Nadeel is alleen dat door de viewstate zaken best traag kunnen worden.
Door één simpele integer variable extra bij te houden in de viewstate zal je spul niet significant trager worden hoor.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op 29 maart 2004 @ 14:20:
[...]


Door één simpele integer variable extra bij te houden in de viewstate zal je spul niet significant trager worden hoor.
Nee, ik zit eerder met je postbacks en de grootte van je viewstate.. :P Postbacks, uberhaupt POST in ASP.Net is gruwelijk traag ivm GET.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Snap nog steeds hoe je met de viewstate van de control kan zien wat er op het webform afspeelt waarop hij geplaatst is, bij welke 'stap' de webform is.

Voor elke stap wordt de webform opnieuw geladen (andere content).

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Verwijderd schreef op 29 maart 2004 @ 14:29:
Snap nog steeds hoe je met de viewstate van de control kan zien wat er op het webform afspeelt waarop hij geplaatst is, bij welke 'stap' de webform is.

Voor elke stap wordt de webform opnieuw geladen (andere content).
Ik dacht aan zoiets:
code:
1
ViewState["Stap"] = 1


en
code:
1
int currentStep = Convert.ToInt32(ViewState["Stap"]);

https://fgheysels.github.io/


  • JozyDaPozy
  • Registratie: December 2002
  • Laatst online: 13-05 14:00
Ik snap het probleem niet..
Op het moment dat je naar de volgende stap gaat, post je toch bepaalde data.. Hierin kun je toch bijhouden 'waar' je zit, en aan de hand daarvan die status aanpassen??

Verwijderd

Topicstarter
whoami schreef op 29 maart 2004 @ 14:31:
[...]


Ik dacht aan zoiets:
code:
1
ViewState["Stap"] = 1


en
code:
1
int currentStep = Convert.ToInt32(ViewState["Stap"]);
WebForm en UserControl hebben beide toch een eigen viewstate?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Wel, het is toch in die UserControl dat je slechts hoeft te weten in welke 'stap' je zit?

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 29 maart 2004 @ 14:34:
Wel, het is toch in die UserControl dat je slechts hoeft te weten in welke 'stap' je zit?
Ja en in welke stap de WebForm is moet ik op een of andere manier te weten komen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 is benieuwd wat er mis is met de link uit http://www.ftponline.com/.../magazine/columns/aspnet/

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Crysania
  • Registratie: September 2000
  • Laatst online: 22:58
je kunt ook gewoon een variabele aan je session object toevoegen met daarin de stap.

maar in de viewstate lijkt me makkelijker en sneller.

Verwijderd

Ik ben met je eens dat dit een juiste manier is om dit aan te pakken.
Ik heb deze manier o.a. gebruikt in een tabbladen systeem, waar dan elk tabblad een aparte user-control is.

Onderstaand de link waar ik iets soortgelijks heb gevraagd.
[rml][ Asp.Net] User Control event afhandeling[/rml]/

Vooral onderstaande link was voor mij goed duidelijk.

http://www.fawcette.com/v...lumns/aspnet/default.aspx

[ Voor 7% gewijzigd door Verwijderd op 29-03-2004 15:20 . Reden: Link naar fawcette gefixt. ]


Verwijderd

Topicstarter
Ik dacht aan een andere oplossing door de volgende code toe te voegen aan mijn UserControl:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private _CurrentStep As Steps
    Enum Steps
        One
        Two
        Three
        Four
        Five
    End Enum

    Public Property CurrentStep() As Steps
        Get
            Return _CurrentStep
        End Get
        Set(ByVal Value As Steps)
            _CurrentStep = Value
        End Set
    End Property


Hiermee kan ik op de WebForm waar ik het control op plaatst de CurrentStep instelllen. Is dit een goede oplossing?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:42

gorgi_19

Kruimeltjes zijn weer op :9

Waarom heb je een enum gemaakt?
* gorgi_19 vindt een enum in dit geval vrij nutteloos...

[ Voor 46% gewijzigd door gorgi_19 op 29-03-2004 15:20 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 29 maart 2004 @ 15:20:
Waarom heb je een enum gemaakt?
* gorgi_19 vindt een enum in dit geval vrij nutteloos...
Om af te dwingen dat een bestaande/geldige CurrentStep gekozen wordt

Alleen op het WebForm waarop ik het UserControl plaats kan ik niet de UserControl aanroepen, staat alleen in de HTML code gedeclareerd en kan niet in code-behind aanroepen want daar staat hij niet gedeclareerd.

[ Voor 7% gewijzigd door Verwijderd op 29-03-2004 15:46 ]


Verwijderd

Topicstarter
Iemand nog een idee hoe ik een UserControl op een webform kan laten weten in welke stap de gebruiker op het webform is?

Die links hebben mij niet echt geholpen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Tja, een sessie-variabele dan.

https://fgheysels.github.io/


Verwijderd

... doet een wilde gok, misschien httpcontext.items in combinatie met viewstate? httpcontext is te gebruiken door de hele request. en anders gewoon een sessie variabele.
Pagina: 1