I'm trying to create a set of views to gather a lot of information. I say set because I have broken up this information across several pages, organized by the type of questions. I want the user to be able to leave and add, remove, update data as they wish, but I also need them to be able to cancel their changes. Seems simple enough.
But conceptualizing this from a code point of view, I'm having issues.
At first I wanted to preserve the model across multiple pages. So I would have a controller that redirects to different views depending on the step they have and pass the model around until they saved. However, unless I store all the information they aren't currently working on in hidden fields, the model I return from the view to go to the next step is half empty.
I then considered working with session variables. I then figured that if I pressed the back button or left the "workflow" without clicking cancel to clear the session variable, then I risk a user reopening the same object and their changes still be there.
I don't really see an elegant way of doing this. I assume this is my lack of ASP.NET\MVC experience.