One of the frequently asked questions about asp.net MVC is that how it is difference from asp.net web forms. Here we will talk some differences between asp.net web forms and asp.net MVC. One thing that I would like to mention that ASP.NET MVC is not a replacement of ASP.NET web forms but both are built on top of core ASP.NET framework. We will use lot of features of ASP.NET in ASP.NET MVC such as authentication and authorization mechanism. Here I will display some differences between asp.net and asp.net mvc.
1. Provides fine control over rendered html control.
2. Cleaner generated html.
3. Superior separation between UI and code.
4. Easier to unit test.
5. Can support multiple view engines.
6. No view state.
7. Typically size of page is small.
8. Easy integrate with the framework such as jquery.
1. Not event driven, so maybe difficult for people who know only ASP.NET web forms to wrap their minds around it.
2. Third party control library support is not that strong.
3. No view state.
ASP.NET Web Forms
1. Provides very good RAD development capabilities.
2. Great designer support in visual studio.
3. Easy of development for data-heavy LOB applications.
4. Very rich control libraries and third party vendor support.
5. A familiar event-driven model when compared to windows forms development and so easy for developers to pick up.
1. UI logic coupled with the code, and thus is hard to separate.
2. Harder to unit test, so difficult to employ.
3. Heavy page size due to view state management.