I'm building my first real C# project, and need just a little guidance about the best way to do it. The website is pretty simple, pretty much just a few static pages, but one is going to be a nearly 300-item survey of the activities a person enjoys. The data will be stored in a table (massive one, I know), and I'll perform different statistical analyses on it as I accumulate a large enough sample size.
The survey is set up in four columns:
-Name of the activity
-A dropdown box populated with a few choices regarding their level of experience
-A dropdown box populated with a few choices about their level of interest in the activity
-A small input box for comments & additional explanation of their answers for each activity.
As it stands now, I have 45 items set up, and the page is SLOW (both on my computer and in the browser), and bloated. There HAS to be a more efficient way to do it. I'm thinking about generating the form on the fly (because I have the activities loaded into a database table), but don't really know where to start, because I want to be able to easily store all the data in another table record that's created upon submitting the form.
Here are my questions:
-Should I go ahead and hard-code 300 items on the form? That would make my page massive, make it very difficult to find the corresponding dropdown & input boxes for my answers when I go to store the form, and it seems like it'd be difficult to change if I wanted to modify my page structure later.
-Should I break up the form into multiple pages? That may help the loading times and page sizes, but I have the form broken up by section into a sweet jQuery accordion that works well.
-Is there an even more efficient way to do this? There probably is, but I just don't have enough experience to know.
-Is a database table with over 600 columns poor database design? I haven't read anything stating that it's too big, but I can't think of any other way to store the data the way I want to.
I don't mind reading tutorials and books (perhaps I should pick up a LINQ & SQL book?), and am not expecting a long, detailed response. Any quick tidbits to point me in the right direction would be MASSIVELY appreciated.
Thanks so much in advance!