这种将代码都包含在一个文件中的实现方式非常的直接,而且当应用程序很小并不经常修改的时候也可以说是一种好的方法,但是如果下面的一些情况出现的话你也许会开始考虑修改这种实现方法: 使编程的工作并行并减少由此带来的发生错误的可能性。为了增加工作的并行性,提高效率,你可能想让不同的人编写视图的代码及模型代码并尽力减少这种工作方式所带来的出错的可能性。例如:当所有的代码都在一个文件中的话,那么一个编程人员可能会在改变DataGrid显示格式的时候无意中修改数据访问的代码。这种错误是很难被发现的,直到页面整体被编译的时候才会显现出来。。 使你的数据访问代码在其它页面中重用。在这种单文件的实现方式中,除了拷贝代码,没有其它的方法能够做到代码的重用。拷贝的代码是很难被维护的,因为一旦代码发生了变化,你必须在所有的页面都进行修改。 为了避免上面这些情况的发生,ASP.NET引入了代码分离(Code-behind)机制。 用代码分离机制进行重构 Microsoft Visual Studio .NET中的代码分离机制使视图层的代码与模型及控制器的代码能够很容易的分离。每个ASP.NET页面都有一种机制,能够使其要调用的方法在一个与其分离的类中实现。这种方式使用起来非常的方便,而且也可以利用Visual Studio .NET中的一些其它特性共同完成开发工作。比如如当你利用代码分离的机制开发你的页面的时候,可以利用智能感知(IntelliSense technology)显示出一个可用方法的列表方便编程。而智能感知技术在.aspx页面中是不能使用的。 下面给出的是上面例子利用代码分离机制的实现。 视图部分: 视图层的代码现在一个单独的文件中实现。Solution.aspx:
<%@ Page language="c#" Codebehind="Solution.aspx.cs" AutoEventWireup="false" Inherits="Solution" %> <html> <head> <title>Solution</title> </head> <body> <form id="Solution" method="post" runat="server"> <h3>Recordings</h3> Select a Recording:<br/> <asp:dropdownlist id="recordingSelect" runat="server" /> <asp:button id="submit" runat="server" text="Submit" enableviewstate="False" /> <p/> <asp:datagrid id="MyDataGrid" runat="server" width="700" backcolor="#ccccff" bordercolor="black" showfooter="false" cellpadding="3" cellspacing="0" font-name="Verdana" font-size="8pt"
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
上一篇:使用ASP.NET中的一点体会[关于代码分离]
下一篇:在ASP.NET中实现Model-View-Controller模式(2)