GXPT(三)——Webfrom VS MVC

来源:互联网 发布:linux 网络连通 编辑:程序博客网 时间:2024/05/10 05:25

 

WebForm:

请求过程:客户端向服务器发出请求→服务器IIS接收请求,并交给Framework→①Framework创建index.aspx的页面类对象;②可能访问数据库;③并处理业务;④准备要输出的html数据→最后将逻辑处理后的处理交给客户端

 

 

注意:Framework创建的是一个页面类对象,它的业务处理等都是在它的后置类对象中完成,它的界面显示也是跟它的后置类对象有着相当强的耦合关系的。实例如下:

aspx中的代码:

<span style="font-size:18px;"><%@ PageLanguage="C#" AutoEventWireup="true"CodeBehind="Demo.aspx.cs" Inherits="WebformDemo1.Demo"%> <!DOCTYPEhtml> <htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><metahttp-equiv="Content-Type" content="text/html;charset=utf-8"/>    <title></title></head><body>    <form id="form1"runat="server">    <div>        <asp:Label ID="Label1"runat="server" Text=""></asp:Label>    </div>    </form></body></html></span>


 

后置类中的代码:

<span style="font-size:18px;">namespaceWebformDemo1{    public partial class Demo :System.Web.UI.Page    {        protected void Page_Load(object sender,EventArgs e)        {            string str ="我是John";            this.Label1.Text=str;        }    }}</span>

从上面的代码我们可以很清晰的知道,如果美工现在想将显示该数据的Label控件换成一个p,那么它就很难保证后置代码的不受影响。然而现实中页面的改变又往往比业务逻辑的改变要频繁的多,那么我们该如何处理呢??现在假设:我们将上面的实例进行如下的更改,通过如下的方式来向前台传递数据。实例如下:

aspx中的代码:

<span style="font-size:18px;"><%@ PageLanguage="C#" AutoEventWireup="true"CodeBehind="Demo.aspx.cs" Inherits="WebformDemo1.Demo"%> <!DOCTYPEhtml> <htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><metahttp-equiv="Content-Type" content="text/html;charset=utf-8"/>    <title></title></head><body>    <form id="form1"runat="server">    <div>        <%--<asp:LabelID="Label1" runat="server"Text=""></asp:Label>--%>        <p><%: this.DbData%></p>    </div>    </form></body></html></span>
 

后置类中的代码:

<span style="font-size:18px;">namespaceWebformDemo1{    public partial class Demo :System.Web.UI.Page    {        public string DbData { get; set; }        protected void Page_Load(object sender,EventArgs e)        {            string str ="我是John";            DbData = str;            //this.Label1.Text=str;        }    }} </span>


MVC:

请求过程:客户端向服务器发出请求→①服务器IIS接收请求,并交给FrameworkFramework根据路由配置,解析URL;②Framework创建blog类的对象;并调用index方法;④可能访问数据库;⑤并处理业务;⑥将要显示的数据交给相应的View→最后View决定数据显示的界面、样式。

 

 

注意:Controller用于创建相应的类,并调用与之对应的View层中的相应的方法。这样的话就将原来的耦合在一起的类和方法给解开了。这样的View层只管界面的显示了。


总结:对于MVC的学习还在进行中,现在还只是刚刚开始,更多的体会还需要在项目中去体会。

0 0
原创粉丝点击