After reading the first post on ASP.NET MVC , You may have a question in your mind that when to use ASP.NET MVC..so here is the answer of it..
Deciding When to Create an MVC Application
You must consider carefully whether to implement a Web application by using either the ASP.NET MVC framework or the ASP.NET Web Forms model. The MVC framework does not replace the Web Forms model; you can use either framework for Web applications. (If you have existing Web Forms-based applications, these continue to work exactly as they always have.)
Before you decide to use the MVC framework or the Web Forms model for a specific Web site, Go through the advantages of each approach.
Advantages of an MVC-Based Web Application
The ASP.NET MVC framework offers the following advantages:
- It makes it easier to manage complexity by dividing an application into the model, the view, and the controller.
- It does not use view state or server-based forms. This makes the MVC framework ideal for developers who want full control over the behavior of an application.
- It uses a Front Controller pattern that processes Web application requests through a single controller. This enables you to design an application that supports a rich routing infrastructure. For more information.
- It provides better support for test-driven development (TDD).
- It works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application behavior.
Advantages of a Web Forms-Based Web Application
The Web Forms-based framework offers the following advantages:
- It supports an event model that preserves state over HTTP, which benefits line-of-business Web application development. The Web Forms-based application provides dozens of events that are supported in hundreds of server controls.
- It uses a Page Controller pattern that adds functionality to individual pages.
- It uses view state or server-based forms, which can make managing state information easier.
- It works well for small teams of Web developers and designers who want to take advantage of the large number of components available for rapid application development.
- In general, it is less complex for application development, because the components are tightly integrated and usually require less code than the MVC model.
Features of the ASP.NET MVC Framework
The ASP.NET MVC framework provides the following features:
- Views without code-behind that is all other view engines works with code-behind views whereas here we will just have separate .aspx file for view.
- Separation of application tasks that is input logic, business logic, UI logic, testability, and test-driven development (TDD) – all are defined differently so its good and no pore complex.
- HtmlHelpers now expose the model of the view – this is strictly related to the new feature. Since you cannot create view-specific helpers anymore, we needed a way to supply the model of the view to HtmlHelpers.
- UI Scaffolding – when you create a view, now you can ask Visual Studio to create the HTML of the UI to edit/create/delete/list/show the model supplied to the view that we will show you in the example soon.
- Powerful URL-mapping is component that lets you build applications that have comprehensible and searchable URLs. URLs do not have to include file-name extensions, and are designed to support URL naming patterns that work well for search engine optimization (SEO).
- Support for using the markup in existing ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) markup files as view templates. You can use existing ASP.NET features with the ASP.NET MVC framework, such as nested master pages, in-line expressions (<%= %>), declarative server controls, templates, data-binding, localization, and so on.
- Support for existing ASP.NET features – ASP.NET MVC lets you use features such as forms authentication and Windows authentication, URL authorization, membership and roles, output and data caching, session and profile state management, health monitoring, the configuration system, and the provider architecture.
- Lots of new helper functions, utilities, and API enhancements
So this is all about When to use ASP.NET MVC Framework. Just Go through all the points and matched with your proposed system’s criteria , you will come to know that which will be more beneficial to implement.Hope you would have got the basic understandings of ASP.NET MVC now.
We will move on to the tutorials from the next post.
Hope this Helps…