Introduction to MVC
Model-View-Controller (MVC) is an architectural pattern. This pattern separates an application into three components Model, View and Controller. The MVC framework is a lightweight and highly testable presentation layer that is integrated in web form applications.

MVC Architecture

In a traditional web forms application:
- The Model is the part that responsible for handling the business and data, such as retrieve data from the database or from other storage or perform business rules on data. It is independent of the View and Controller.
- The View is the part that displays the user interface. Ideally it shows model data. In other words, we can say that the view represents the model data given by the controller.
- The Controller is the part responsible for handling user requests. The Controller interacts with both the Model as well as the View. The Controller interacts with the model, gets the data and this data is passed to the view.
Problem with ASP.Net Web form
Web form applications introduced the event-driven approach and also introduced View State and post-back. Both post-back and view state create problems, in other words view state affects the performance of the application (sometimes the web page has hundreds of KB of View state). The developer does not have any control of the rendering of the server control. Also the Page lifecycle of an ASP web form is too complex. In a web form application, a single class displays the user interface and handles the user controls.
There is no predefined project structure like MVC for creating a web form based application. One may use or follow their own style of coding and practice. Also Code behind is tightly coupled with the UI.
The Separation of Concern has not been fit with web form based applications. Also automated testing is very difficult in a post-back model.
Advantages
The following are the advantages of MVC:
- MVC does not support view state and server based forms this gives full control on developer's hand to control application behavior.
- MVC contain three main parts model, view and controller that help to manage complexity of application.
- MVC internally use Front Controller pattern that resolved decentralization problem exists in page controller by passing all request through single controller and this controller itself divide into to two part handler and hierarchy of commands. Front controller pattern has also have its own benefit such as Centralized control, thread safety and configurability.
- MVC provides better support to TDD (Test driven development). TDD is related to the test first programming concepts of extreme programming. It helps us to reduced time in reworks and helps create loosely coupled code.
- MVC enforces separation that reduces complexity of project structure.
- In MVC, layers are loosely coupled and architecture enforces separation so it supports parallel development.
- MVC has builtin support rich routing features. It enables us to use URL that does not need to map specific page or file in web site.
- MVC support SEO and REST friendly URL.
- MVC is easily integrated with JavaScript framework.
- MVC is also support third-party view engine.
Disadvantages
Even if the MVC pattern comes with many advantages, there are also some disadvantages too.
- ASP.Net MVC sites require more time to develop over traditional ASP.Net applications.
- There is no builtin rich UI control.
- In MVC, there is extensive use of jQuery / JavaScript / AJAX, it makes the form (application) complicated.
- ASP.NET MVC is difficult to learn, it requires a deep knowledge of the pattern.
- View state and post-back will not work as designed so that we cannot use a control such as Grid view, repeater and datalist control.
Advantages of web form based application
The following are the advantages of web form based applications:

Jignesh TrivediPosted Mar 7, 2014, 3:09 AM
hi, please refer my article http://www.c-sharpcorner.com/UploadFile/ff2f08/Asp-Net-mvc-request-life-cycle/
Lakshmanan Sethu SankaranarayanPosted Mar 7, 2014, 2:49 AM
Thanks .What about page life cycle happens in MVC?
SUNIL GUTTAPosted Mar 7, 2014, 12:06 AM
that was one awesome article . Thank you so much
Naga SankarPosted Sep 24, 2013, 11:15 AM
Very nice article bro