Persisting complex data between postbacks in ASP.NET MVC
Posted
by Robert Wagner
on Stack Overflow
See other posts from Stack Overflow
or by Robert Wagner
Published on 2010-03-25T03:39:06Z
Indexed on
2010/03/25
3:43 UTC
Read the original article
Hit count: 448
asp.net-mvc-2
|asp.net-mvc
I'm developing an ASP.NET MVC 2 application that connects to some services to do data retrieval and update. The services require that I provide the original entity along with the updated entity when updating data. This is so it can do change tracking and optimistic concurrency. The services cannot be changed.
My problem is that I need to somehow store the original entity between postbacks. In WebForms, I would have used ViewState, but from what I have read, that is out for MVC. The original values do not have to be tamper proof as the services treat them as untrusted. The entities would be (max) 1k and it is an intranet app.
The options I have come up are:
- Session - Ruled out - Store the entity in the Session, but I don't like this idea as there are no plans to share session between
- URL - Ruled out - Data is too big
- HiddenField - Store the serialized entity in a hidden field, perhaps with encryption/encoding
- HiddenVersion - The entities have a (SQL) version field on them, which I could put into a hidden field. Then on a save I get "original" entity from the services and compare the versions, doing my own optimistic concurrency.
- Cookies - Like 3 or 4, but using a cookie instead of a hidden field
I'm leaning towards option 4, although 3 would be simpler. Are these valid options or am I going down the wrong track? Is there a better way of doing this?
© Stack Overflow or respective owner