一.Code Behind简介
Code Behind就是所谓的代码分离,自从Microsoft公司推出了ASP.NET以后,Code Behind就是一个热门的话题。在一般的ASP.NET文件中,Code Behind主要是用二个文件来创建一个ASP.NET的页面,其中一个是设计文件,一般以.aspx或者.ascx做为扩展名,而另外一个是程序代码文件,一般以.vb或者.cs做为扩展名,其程序设计语言主要是VB.Net或者是C#。
二.Code Behind优点
用过ASP编过程序的人都知道,ASP程序是把界面设计和程序设计混合在一起的。因此当程序设计人员要修改应用程序界面布局的时候,就往往需要更改大量与界面无关的代码,对于一个小程序,工作量不是很大,如果对于代码量很大的程序,就是一项工作量不小的事情。而Code Behind把界面设计代码和程序设计代码以不同的文件分开,对于代码的重复使用,程序的调试和维护都是革命性的。还有一点是,当你发布你的网站的时候,你就可以利用这种技术来有效的保护你的代码。这对于程序的安全性是一个提高。Code Behind技术的出现有点象过去VB或者是Delphi出现一样。这也就是他为什么一出现就成为一个热门话题的原因。下面我们利用一个完整的例子来具体说明一下Code Behind技术的特点。
三.例子的简介
本例题的运行环境是Windows 2000 Prefessional版和.Net FrameWork SDK Beat 2。程序设计语言是c#,其主要功能是发送电子邮件。程序分成二个部分,把发送电子邮件的界面代码以mail.aspx文件保存,而发送的程序是以send.cs文件保存。
四.具体实现步骤
1).新建一个HTML页面
你可以使用微软的FontPage来设计你的页面的整个布局。把你的所以选项都设计到此页面中去。具体的界面如下图:
把此HTML文件命名为send.htm。具体代码如下:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title></head><body>
<h3>欢迎进入Code Behind设计界面</h3>
<form>
<table border="1" width="100%">
<tr>
<td width="100%" colspan="2">请填入下列各项:</td>
</tr>
<tr>
<td width="35%">姓名</td>
<td width="65%"><input type="text" name="Name" size="20">
</td>
</tr>
<tr>
<td width="35%">电子邮件地址</td>
<td width="65%"><input type="text" name="Email" size="20">
</td>
</tr>
<tr>
<td width="35%">内容</td>
<td width="65%">
<textarea rows="7" name="Message" cols="26">
</textarea>
</td>
</tr>
<tr>
<td width="100%" colspan="2">
<input type="submit" value="Submit" name="B1"></td>
</tr>
</table>
</form><p></p></body></html>
2).创建虚拟目录
首先在"c:InetPubWWWRoot"目录下面创建一个目录为"mail",然后运行"开始>控制面板>管理工具>Internet 服务管理器>"创建虚拟目录的名称是"mail",如下图所示:
3).创建内嵌代码的ASP.NET文件
如果你已经完成了创建虚拟目录的工作,并且把send.htm文件拷贝到了此目录中,请把send.htm文件改名为send.aspx。然后用Windows自带的NotePad或者其他的文本编辑器打开此文件。
接下来我们首先创建的是代码内嵌的ASP.NET文件,然后再把把转换成Code Behind文件。虽然创建代码内嵌的ASP.NET文件在本文的论述中是一项多余的工作,但这却方便了调试,便于理解,并且一旦你的代码内嵌的文件成功运行,再把他转换成Code Behind文件就相对容易了许多。具体步骤如下:
A).加入页面表示
在用文本编辑器打开文件的第一行,加入一下表示:
<%@ Page Language="C#" %>
b).把mail.aspx中用到的Html组件转换为HtmlControls,可以借助下表来转换: