ASP.NET Web Forms Meets ASP.NET MVC - More Strong Points
(Page 3 of 4 )
We can say that, although the new ASP.NET MVC provide a clearer division for the Model, View, and Controller, the Page Controller pattern of Web Forms is still good. Under the .NET platform, we don't need to implement the MVC pattern by ourselves. As for the View, ASP.NET already provides the common Web controls, and also, we can define the custom user controls by deriving them from System.Web.UI.UserControl, or create our own Web controls from System.Web.UI.WebControl. Then we can assemble the UserControl or Web controls with an .aspx Page.
On the other hand, ASP.NET defines the System.Web.UI.Page class which, to some degree, acts as the Controller of the MVC pattern, which can deal with user requests. In addition, the code-behind technique can completely separate the rendering of the user interface from the implementation of the UI logic, which greatly facilitates handling the code.
As for the Model component, it should include the field objects of the business logic tier, as well as the data objects of the data access tier. And moreover, the .NET platform provides the DataSet-like objects through ADO.NET, which facilitates the binding with the data source of the Web controls.
(3) The ViewState and Server-based Forms
Web Forms uses ViewState or server-based forms, which, to a great degree, make managing state information easier. As is well known, HTTP is a stateless protocol, which means two successive requests across the same session have no knowledge of each other. By introducing the re-entrant form mechanism, ASP becomes successful in working around such a system limitation. What was once an ASP best practice has been standardized and integrated into the ASP.NET runtime to become the key feature of ASP.NET applications with automatic state maintenance.
The ASP.NET runtime carries the page state back and forth across page requests. When generating HTML code for a given page, ASP.NET encodes and stuffs the state of server-side objects into a few hidden, and transparently created, fields. When the page is requested, the same ASP.NET runtime engine checks for embedded state information-the hidden fields-and uses any decoded information to set up newly created instances of server-side objects. However, it's just such kinds of ViewState-related items that brought ASP.NET Web Forms plenty of issues when it's compared with ASP.NET MVC. This will be discussed in just a few moments.
Next: Wrapping Up >>
More ASP.NET Articles
More By Xianzhong Zhu