Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET MVC doesn't work with ViewState and Postback?

Perhaps this is a naive question. In my understanding, ASP.NET MVC cannot work with ViewState and Postback which is fundamentals of ASP.NET forms. Is that correct?

If that's it, then all ASP.NET Web Controls depending on ViewState & Postback cannot be used in ASP.NET MVC, right?

like image 539
Morgan Cheng Avatar asked Dec 14 '08 03:12

Morgan Cheng


People also ask

Why ViewState is not used in MVC?

ASP.NET MVC does not use ViewState in the traditional sense (that of storing the values of controls in the web page). Rather, the values of the controls are posted to a controller method. Once the controller method has been called, what you do with those values is up to you.

Can ViewState be used in MVC?

No, MVC does not support view state. This is one of the advantages of MVC. In MVC, we are using HTML Helpers.

Does MVC maintain ViewState of controls?

ASP.NET MVC will persist the values of the controls long enough for you to validate them and (if needed) to round-trip them back to your page for editing or correction. If the controls validate, you can persist them to a database or other data store, where they will be available for subsequent GET requests.

Does ASP NET support ViewState?

View state is used automatically by the ASP.NET page framework to persist information that must be preserved between postbacks. This information includes any non-default values of controls. You can also use view state to store application data that is specific to a page.


1 Answers

ASP.NET's server-side controls work with WebForms, not MVC. MVC doesn't use controls in the traditional ASP.NET sense (at least yet).

The MVC model is quite different from the WebForms model; not better or worse, but very different. Using MVC puts the developer much closer to the generated HTML, lends itself more intrinsically to unit testing, and provides a strong separation of concerns between the UI and the code that populates that UI.

At first glance, especially to hardened ASP.NET veterans, MVC can seem like a huge step backwards (if you've were coding then, visions of ASP COM development might dance in your head).

But give MVC a try. It is very interesting and its model is quite compelling once you get used to it.

Read more here: http://quickstarts.asp.net/previews/mvc/mvc_HowToRenderFormUsingHtmlHelpers.htm

Also, check out this interesting blog engine that uses MVC: http://www.codeplex.com/oxite

Finally, check out Rob Conery's MVC storefront project: http://wekeroad.com/category/mvc-storefront

like image 117
rp. Avatar answered Oct 09 '22 17:10

rp.