Enrollment Form Design Questions

Hello Experts,

I have been asked to redo a enrollment application from an older employee who is no longer with the company. To make a long story short, the past employee created a webpage with 100 questions on it which are diveded by 9 different sections on the same page.

I have been asked to shorten the enrollment application into 9 different pages which are 9 different sections one section per page. This system is only going to collect data at the moment but may be used later down the road for updating the data. As of now the data will get imported into another system.

The questions I have are below which are stumping me from continuing :(

1. I need to make sure the enrollment application colllects the users personal information before continuing to other sections. This needs to be required because I need the unique generated ID to pass to the other sections tables in the DB.

2. How can I fill out the other sections after user has submitted his/her personal info going from page to page? I know that I need to store the unique ID into Session which I'm not sure if that's best practive these days or not. I welcome other ideas...

3. What is the best way to have the user fill out the other sections if they cannot continue in one sitting? Should I generate a random generated username/password for user to enter to pull up his/her unique ID to pass to other pages when they decide to contine the other pages (sections)?

I could really use help with this :( Need to give BOSS an answer tomorrow on how I can do this and then I need to start the process.

Requirements:

ASP.NET 4.0
C#
SQL SERVER 2005

Thanks in advance!!!
LVL 4
asp_net2Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jerry MillerCommented:
1. I need to make sure the enrollment application colllects the users personal information before continuing to other sections. This needs to be required because I need the unique generated ID to pass to the other sections tables in the DB.

Put a 'Next' link at the bottom & / or top of each page with JavaScript validation on the required fields. In the onClick event of the button / link, add each page of info to the database. Then you can query it for the unique ID in a return visit. Another alternative to the JavaScript is to only enable the link after all of the required fields are completed.

2. How can I fill out the other sections after user has submitted his/her personal info going from page to page? I know that I need to store the unique ID into Session which I'm not sure if that's best practive these days or not. I welcome other ideas...

You can store the ID in a session variable as long as it doesn't include any sensitive data. But you can also store the ID in the database and retrieve it when necessary.

3. What is the best way to have the user fill out the other sections if they cannot continue in one sitting? Should I generate a random generated username/password for user to enter to pull up his/her unique ID to pass to other pages when they decide to contine the other pages (sections)?

You can have them create an ID on the first page and have them log in on subsequent visits. This way you can auto-complete any fields from the database that already exist. Use stored procedures as much as possible instead of hard coding queries. This gives you flexibility to make changes without re-compiling the website each time.
0
asp_net2Author Commented:
Hi jmiller1979,

First of all, thank you for replying. This means alot to me. I like all your suggestions and just have a few questions about them.

 - Which method do you prefer in Step 1 from your post and why?

Also for Step 1 are you suggesting that the user filling out the form start at Step1 - Step9 in that order only and that they cannot access another Step if they choose to without filling in the previous Steps? For the requiement I need the user filling out the form to choose whatever sections they wish to fill out as long as they first fill out the personal information first. I need to lock down all sections until personal information is completed and then unlock other sections.
0
Anurag ThakurTechnical ManagerCommented:
I will try to be brief.
There is an existing application on which rework has to be done
To achieve the functionality I will use the same page and logic on the page but just change the UI design in such a way that I am using a wizard control in ASP.NET

In the first page of the wizard i will make it mandatory for the user to fill in the personal details and then only move forward and once that part is done the wizard starts and the user can continue forward using wizard and when he/she reaches on the last questionnaire page they can then submitt their responses
 
http://msdn.microsoft.com/en-us/library/fs0za4w6.aspx
0
asp_net2Author Commented:
@ragi007,

Not sure if that will work since I need data for each section to go into it's own table. I never worked with the wizard control because I always that that was a limitation in regards that all data you collect in the wizard control can only go into one table. Please me if I'm wrong along with links to show that is not true if it is so I can learn to use it like that.
0
Jerry MillerCommented:
I normally use the visible / invisible approach to buttons. Only make them show when it is an option. You can hide / unhide them in the code behind files instead of in JavaScript. Client side scripts like JavaScript are too easily circumvented or disabled to be useful for anything other than a user warning message. I use JavaScript to validate the proper fields, and methods in the code behind to do the real work.

Yes I would make them fill out the form in a logical 1-9 order. this ensures that they follow it and fill all necessary forms out. People would bounce all over the place and you would have a mess in your database. If they can fill out any section, I would make sure that they complete a section before continuing. This way you don't have to open the previous page on the return visit.

On return visits, I would give them a message box of the pages that they have yet to complete.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.