I'm working on a CRUD ASP.NET WebForms web application consisting of a couple of pages in which the user fills in data. My client doesn't want to store the entities in the database between pages until the user clicks Finish on the last page (for various reasons). What options are there to propagate the filled in data between the pages and which is the least bad? From my readings I've seen that ViewState and Server.Transfer can be used. Any other options, preferably using less magic strings and more type safe data binding to entity objects?
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Carriage Return (ASCII chr 13) is missing from tex
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
Using
ViewState
is going to significantly increase the amount of data your sending down the wire, as allViewstate
data is serialised into a hidden input in the form, so as you add objects your HTTP request-response is going to grow significantly.There's no magic bullet in this really. If your data is not too complex I'd store the values in the query string. If your objects are getting complex and big and you want to maintain type safety I'd use
Session
, but remember to clean up after yourself!a further option is to use the MVC paradigm and store the values in the form it's self using hidden inputs. This means you don't need to worry about clearing up your session if the user bugs out half way though but it also keeps your querystring clean.
think thats all your options, querystring, viewstate(don't do it), session or hidden variables.
Ok so you have to seraialise your data, so you cannot persist the context. this is not serialiseable so the above are your options:
they each have positive and negatives,
Take your pick!
Use MemCached.
there are tons of examples on the internet.
Try this :
Implementing Distributed Caching using Memcached
You can store all objects used in the client application in the
Session
and then when the user clicks finish you send those objects to a service/method where you can convert them to entities and then submit them to the database.