Wizard Design and State Maintenance

J

Jeremy S.

I need to design a wizard-style UI, where I collect data in several aspx
pages in a sequence. At any point in the sequence, the user must be able to
save their work. The data collected in the wizard pages goes into a SQL
Server database. As users navigate amongst pages (users can navigate amongst
the pages; back and forth, and directly jump to other pages), the app must
keep track of the values the user entered in the other pages. I'm wondering
where I should maintain this "wizard data" as the user navigates amongst the
pages in the wizard.

A quick answer would be to maintain the wizard data in Session state. But
the problem with Session is that it will timeout. I don't want for this app
to rely on Session as the users may leave their computer and come back to
finish the wizard - but after their session has timed out. Alternatively, I
could stick it into the system Cache and key off of user ID, but the Cache
is volatile. Application state seems like a better choice, except that it's
generally recommended to minimize use of Application state - that, plus
application state would get blown away on server restarts or recyclings of
the app pool. So, what to do?

Thanks.
 
H

HillBilly

ASP.NET 2.0 Wizard Control and it takes a long time to learn to use it or
you can try to build your own using the same MultiView Conttrol which
provides some of the fundamentals.
 
G

Gregory A. Beamer

ASP.NET 2.0 Wizard Control and it takes a long time to learn to use it
or you can try to build your own using the same MultiView Conttrol
which provides some of the fundamentals.

Great point!

The wizard control, if you are using it "out of the box", like the
examples, is fairly simple. As soon as you step out of the box at all, the
multiview is more flexible and easier to learn.
 
J

Jeremy S.

ASP.NET 2.0 Wizard Control and it takes a long time to learn to use it
Great point!

The wizard control, if you are using it "out of the box", like the
examples, is fairly simple. As soon as you step out of the box at all, the
multiview is more flexible and easier to learn.


So, I can use the Wizard control or roll my own. The primary; question of
the OP remains unaddressed: Where can/should I maintain state? Session? etc?
looking for discussion of the alternatives for state maintenance given the
concerns as stated in the OP.
 
H

HillBilly

OT for here but getting censored when trying to ask you elsewhere if
Expression 3 remains an unusable p.o.s. with the all black low-contrast user
interface. yea or nay?
 
H

HillBilly

Every control supports ViewState including the Wizard and MultiView controls
or again you write your own state management.
 
J

Jeremy S.

HillBilly said:
OT for here but getting censored when trying to ask you elsewhere if
Expression 3 remains an unusable p.o.s. with the all black low-contrast
user interface. yea or nay?


Hrm... you seem to have my post here confused with someone else and their
post. I know nothing of the Expression 3 deal of which you refer.

In any case I read your other post about ViewState - and yes, that works,
but not when the wizard is comprised of multiple aspx pages. But maybe that
is actually the ultiamte answer to my concerns... to implement the wizard in
a single aspx page and create the perception of multiple pages via MultiView
or Wizard controls. Naturally, then viewstate would take care of the state
management. That's good, and actually simplifies a bunch of things. Thanks!
 
G

Gregory A. Beamer

So, I can use the Wizard control or roll my own. The primary; question
of the OP remains unaddressed: Where can/should I maintain state?
Session? etc? looking for discussion of the alternatives for state
maintenance given the concerns as stated in the OP.


When you use the controls (wizard or multiview), the full state of the
control is held in ViewState. Provided you are not turning it off, you
can pull from here.

If you want to customize this further, you certainly can create your own
state mechanism, but I would be wary of doing that if you do not have
to. One example where you might change this is when you need a very
"light" page, as viewstate adds weight (encoded field).

The point here is state is already maintained as long as you are not
leaving the page. Each click on the wizard, multipage will save the
state of all of the controls, including those currently hidden.
 
G

Gregory A. Beamer

OT for here but getting censored when trying to ask you elsewhere if
Expression 3 remains an unusable p.o.s. with the all black
low-contrast user interface. yea or nay?

Censored? Where?

Short answer: yes and no ;-)

Here is my long-winded two cents.

If you are unhappy with Expression Web 2 as it pertains to ASP.NET, you
are not likely to be happy with Expression Web 3. In fact, with the
color choices, you might find it even less appealing. The ASP.NET story
has NOT improved in the new version. Microsoft is a bit schizo on this
story, IMO, as they sell the idea of a designer (Expression) working
hand in hand with a developer (Visual Studio).

I am not sure I would completely classify it as a p.o.s., however, as
there are some improvements. You have to figure if the following
improvements mean anything to you.

Site Management: Greatly improved. Considering the publish features blew
chunks in EW2, anything would have been an improvement here. From what I
understand, the team threw away the clunky FTP and wrote a new multi-
threaded client that supports SFTP. This means faster, less problematic
uploads. I have not published with it yet, so I will have to take Cheryl
Wise's word on the greatness of the improvement.

Media: While I disagree with the placement on the toolbox (under HTML
controls), the media bits work very well and actually simplify adding
media, unlike the half-baked Silverlight bits in EW2. I will likely use
these, as anything that simplifies my life is good.

CSS: Still the same basic story, but I like the story. I use EW
primarily for the CSS bits (which were the shining story in EW2, if you
ask me). This is a preference thing, however. If you have another CSS
editor you use religiously, it might not be compelling for you.

Additional tools: Expression Encoder and Expression Design are now
included with Web 3. The encoder can even be pulled open by dragging
media onto the design surface, which is nice. I have found that there
are a few things that glitch for me with .MOV files, but I found the
experience of embedding a WMV as a Silverlight movie to be excellent. I
am not sure about Expression Design, as I am a heavy PhotoShop user
(from years as a graphic designer), so I am not sure I am the most
unbiased person to ask about Design.

There are also some improvements in menu docking and hiding which are
nice (more like Visual Studio). I am not sure these are an even trade
off for the color choice. ;-)

Based on the way you framed your question, unless you like the Media and
Site management tools, or really want to glom onto Encoder or Design,
that you will find anything to get you to move to EW3.
 
H

HillBilly

Its a matter that I literally cannot read the user interface and cannot use
this p.o.s. software at all because I literally cannot read the user
interface.
 
G

Gregory A. Beamer

Its a matter that I literally cannot read the user interface and
cannot use this p.o.s. software at all because I literally cannot read
the user interface.

If you read the Expression forums, the consensus seems to be that the new
interface is not very nice on the eyes. Cheryl started the "unofficial"
poll there:
http://bit.ly/32tuYq
 
G

Gregory A. Beamer

I put in my reply and then some. Sorry to got OT to get your
attention.

No problem. I did check the Expression group later on that day, but some
days I am a bit lax on it. ;-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top