| 加入收藏| 设为首页| 联系我们

首页 站长学习 站长之家 源码下载 建站素材 书籍教程 常用工具
 您现在的位置: 动力中国 >> 网络编程 >> ASP.NET教程 >> 文章正文  
 ASP.NET中的Code Behind技术
 

ASP.NET中的Code Behind技术

http://www.domcn.org  文章来源:本站收藏  点击数:

  关键字:ASP.NET中的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:\InetPub\WWWRoot目录下面创建一个目录为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,可以借助下表来转换:
  
    HTML HTML Control
  <form> <form runat=server >
  <input type=text name=Name size=20 > <input type=text id=Name name=Name size=20 runat=server />
  <input type=text name=Email size=20 > <input type=text id=Email name=Email size=20 runat=server />
  <textarea rows=7 name=Message cols=26>
  </textarea> <textarea rows=7 id=Message name=Message cols=26 runat=server>
  </textarea>
  <input type=submit value=Submit name=B1> <input type=submit id=B1 value=Submit name=B1 OnServerClick=Post_Form runat=server>
  
    C).加入内嵌代码
  
    当上面的转换完成以后,接下来就要写邮件发送的内嵌代码。发送邮件使用的是名称空间--System.Web.Mail中的一个SmtpMail 类。在SmtpMail 类中一个基本的方法--Send。此方法的成功调用需要以下四个参数:
  
    1).电子邮件的源地址
  
    2).电子邮件的目的地址
  
    3).电子邮件的主题
  
    4).电子邮件的内容
  
    只有具备这四个参数,Send方法就能够成功调用。对于电子邮件的发送可以参考我的以前文章《利用ASP.NET制作自己的邮件发送系统》。在此文中有具体阐述。一下代码是完整的内嵌代码:
  
  <%@Page Language=C# %>
  <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>
  <script runat=server>
  protected void Post_Form(object sender, EventArgs e)
   { 
   file://Check if the Name and Email fields are filled in
   if(Name.Value!=&&Email.Value!=)
   {
    file://Send the Mail
    System.Web.Mail.SmtpMail.Send(Email.Value,
      saurabh@mastercsharp.com,
      Mail From:+Name.Value,Message.Value);
    }
   }
  </script>
  </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>

    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,
      majinhu@yesky.com,
      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,majinhu@yesky.com,
  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>
  
    注释:
  
    其中的第一句语句很重要,在这个语句中,指定了二个属性:Inherits和Src。其中Inherits用来识别本页面所用的类来自何处。Src是指定识别代码文件,这句话的意思是指定了页面所用的类名和类所在文件的来源。此时把Mail.aspx和Send.cs拷贝到c:\InetPub\WWWRoot中,打开浏览器,就可以运行程序了。
  
    五.总结
  
    Code Behind的出现使得编写功能强大Web程序成为了一件相对容易的事情,C


ASP.NET中的Code Behind技术
  • 上一篇文章:

  • 下一篇文章:
  •  热门文章
    普通文章 电子邮件改头换面 四公司畅谈未
    普通文章 PC病毒史上最声名狼藉的八大病
    普通文章 Rails系统中的AJAX开发技术简析
    普通文章 基于ASP.NET AJAX框架实现表单
    普通文章 开发ASP.NET AJAX客户端定制行
    普通文章 用JFreeChart对JSP报表进行增强
    普通文章 SQL Server 2005上的CLR和ADO.
    普通文章 SQL Server 2005的XML支持机制
    普通文章 Firefox中标签式浏览技巧大全
    普通文章 Tomcat中的Session和Cookie大揭
     
     推荐文章
    推荐文章 把Google地图嵌入网页 就是这么
    推荐文章 迅雷搜索候选资源出错的解决
    推荐文章 轻松去除迅雷里的各种广告和资
    推荐文章 突破限制 免费领养到QQ空间五级
    推荐文章 Rational统一过程RUP贴近中小软
    推荐文章 构建自己的轻量级XML DOM分析程
    推荐文章 WPS Office 2007技巧:妙用配置
    推荐文章 Excel 2007:求余数函数实用进阶
    推荐文章 浅谈ASP.NET的Postback
    推荐文章 软件开发中项目需求管理简述
     
     相关文章
    没有相关文章
    设为首页 | 加入收藏 | 广告合作 | 联系站长 | 版权申明 |
    动力中国为网友提供免费学习资料,可用资源,如果您认为我们的相关内容侵害到了您的权利请联系管理员
    Copyright © 2006-2008 domcn.org All Rights Reserved.