Morgan Cheng
Morgan Cheng

Reputation: 75998

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?

Upvotes: 19

Views: 30908

Answers (3)

rp.
rp.

Reputation: 17673

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

Upvotes: 29

user207669
user207669

Reputation:

This might surprise you, but I accidentally dropped a Button on a MVC page, and implemented the Click event, and it actually worked!

Please correct me if I'm wrong, but I think the does not need a ViewState. It should create a simple HTML tag , and if you don't change the properties of the button at run-time (text, event, ...), no VIEWSTATE will be needed.

Maybe that's the reason why it worked.

Upvotes: 4

leppie
leppie

Reputation: 117220

This might surprise you, but I accidentally dropped a Button on a MVC page, and implemented the Click event, and it actually worked!

I was surprised, maybe it works for just this simple case (it was the only element on the page at that time), and the fact that the response ended with a redirect, but in some cases it seems it can work :)

Upvotes: 0

Related Questions