当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP.NET中的Code Behind技术(4)

ASP
超级ASP版DataGrid:SkyGrid本地下载
用QuickWAP组件结合ASP建设Wap站点
ASP中取得图片宽度和高度的类(无组件)
在ASP处理程序时显示进度
结合FSO操作和Aspjpeg组件写的Class
asp实现的7xi音乐网的采集源代码
用asp+xmlhttp编写web采集程序
推荐ASP超速入门视频教程
关于“未指定的错误”的问题 的比较正解的解决方法
用asp脚本实现限制IP访问
aspupload 3.0 下载与使用集锦
[教程+分享]具有良好体验度的Web注册系统
asp 实现视频显示的效果函数
asp实现图片右键滑轮控制大小的函数
彻底掌握ASP分页技术杂谈
aspupload文件重命名及上传进度条的解决方法附代码
ASPJPEG综合操作的CLASS类
asp通用采集函数冗余版可以保存文件到本地
使用ODBC数据库管理Serv-U的FTP用户及相关ASP编程[附源码示例下载]
[asp]阿里西西的alexa采集效果代码

ASP.NET中的Code Behind技术(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 196 ::
收藏到网摘: n/a

   4).开始创建Code Behind文件

  如果上面的页面能够成功运行,接下来就要把程序代码从界面设计代码中分离出来。这要通过以下步骤来完成。

  a).创建一个.cs源程序文件

  在你的应用程序的主机的虚拟目录下建立文件名为"Send.cs",并且用文本编辑器打开此文件。

  b).拷贝脚本到send.cs程序文件

  把mail.aspx中的<script runat="server">到</script>中的所有内容(包括脚本的表示符),剪切到send.cs文件中。

  C).修改.cs文件

  必须保证send.cs文件是一个正确的c#文件,因此必须对此时的.cs文件进行必要的修改,下面列出修改前后的文件代码,比较一下二者差异:

  没有修改的C#文件,如下:

<script runat="server">
protected void Post_Form(object sender, EventArgs e)
{
 file://判断姓名和电子邮件地址是否填入
 if(Name.Value!=""&&Email.Value!="")
 {
  file://发送电子邮件
  System.Web.Mail.SmtpMail.Send(Email.Value,
    "[email protected]",
    "Mail From:"+Name.Value,Message.Value);
  }
}
</script>

  完成修改后的文件,如下:

using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;
public class First:Page
{
file://声明使用的组件
protected HtmlInputControl Name, Email;
protected HtmlTextArea Message;
public void Post_Form(object sender, EventArgs e)
{
file://判断姓名和电子邮件地址是否填入
if(Name.Value!=""&&Email.Value!="")
{
file://发送电子邮件
System.Web.Mail.SmtpMail.Send(Email.Value,"[email protected]",
"Mail From:"+Name.Value,Message.Value);
}
}
}


  注释:

  第一:这种修改必须要引入必要的名称空间,在本段程序中用到的名称空间是"System","System.Web.UI"和"System.Web.UI.HtmlControls"。

  第二:用"public class First:Page {" 标识来替代 <script runat="server"> 结束的标识符</script> 用"}"来替代。

  第三:最后我们还要声明在程序中用到的组件。

  D).修改界面设计文件(mail.aspx)

  上述的工作完成以后,就要修改界面设计文件,让ASP.NET的运行环境知道在哪里装入Code Behind文件。于是就进行下列修改,修改后的代码如下:

  mail.aspx


<%@ Page Language="C#" Inherits="First" Src="send.cs" %>
<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 runat="server">
<table border="1" width="100%">
<tr>
<td width="100%" colspan="2">请填入下列各项</td>
</tr>
<tr>
<td width="35%">姓名</td>
<td width="65%">
<input type="text" id="Name" name="Name" size="20" runat="server" />
</td>
</tr>
<tr>
<td width="35%">电子邮件地址</td>
<td width="65%">
<input type="text" id="Email" name="Email" size="20" runat="server" />
</td>
</tr>
<tr>
<td width="35%">内容</td>
<td width="65%"><textarea rows="7" id="Message"
name="Message" cols="26" runat="server">
</textarea></td>
</tr>
<tr>
<td width="100%" colspan="2">
<input type="submit" value="Submit" id="B1" name="B1" OnServerClick="Post_Form"
runat="Server" />
</td>
</tr>
</table>
</form>
<p> </p>
</body>
</html>

  注释:

  其中的第一句语句很重要,在这个语句中,指定了二个属性:"Inheri