日期:2013-10-09  浏览次数:20990 次

自从Microsoft公司推出了ASP.NET以后,Code Behind就成了大家议论的热门话题了.
  Code Behind,就是所谓的代码分离,它可以使你的程序显得更加有条理、可读性更强!
  在Asp横行的那个时代里,程序员和美工的合作总是显得不那么融洽,稍微的页面改动就会使得我们大动干戈.曾经,我也尝试过在Asp中实现代码分离,比如在服务端事先处理好各项事务,然后用JavaScript将数据接收下来,最后再调用.功能虽然实现了,但是花费却更大了,有点儿东施效颦的感觉.
  现在有了Asp.Net,问题解决了!


  通过一个简单的实例,了解一下Code Behind.
  先建立一个 test.aspx 的页面:

<%@ Page Language="c#" Inherits="jeky" Src="test.aspx.cs" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Code Behind 实例 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="jeky.cn">
<META NAME="Keywords" CONTENT="jeky,asp.net,Code Behind">
<META NAME="Description" CONTENT="Code Behind,2004-10-8">
</HEAD>

<BODY>
<Form runat="Server">
<br>姓名:
<asp:TextBox id="tb" runat="server"/>
<asp:Button id="bt" Text="提交" OnClick="bt_Click" runat="server"/>
</Form>
</BODY>
</HTML>

  页面打开后,显示效果如下图所示:

  

  可以看到,该页代码最上方有这么一句:
  <%@ Page Language="c#" Inherits="jeky" Src="test.aspx.cs" %>
  其中 Language="c#" 表示该页运行时使用的是哪种语言编译器, Inherits 属性表示aspx页派生于jeky类,Src属性则指明jeky类所属的文件路径.

  要实现Code Behind功能,需要用二个文件来创建.一个是设计页(如*.aspx),一个是代码页(如*.cs/*.vb).下面来看代码页(test.aspx.cs):

  

  程序前三行都有using关键字,它的作用类似于VB中的With,在这里是为了指明对象所处的名称空间.例如,Page类所属的名称空间是System.Web.UI,而TextBox控件则包含在名称空间System.Web.UI.WebControls中.事先用using来指明所属的名称空间后,可以减少代码的输入,还可以使程序看起来简洁明了.

  紧接着,声明一个名叫"jeky"的类,该类继承了Page类的所有属性和方法.
  protected 是声明程序中所用到的对象.
  void bt_Click 是一个"事件处理程序",须用"public"关键词以便能在"设计页"中调用.

  该程序最终运行效果会出现一个对话框,其中的内容即文本框中所输入的内容.

  上面只是一个小实例,也许你还体会不出Code Behind的优势所在,如同在Asp中用Dim声明变量一样.不过,我建议大家在平时都应该养成一个良好的习惯,做人是这样,写程充亦也如此.