asp.net|asp.net 一.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",然後運行"開始>控制台>管理工具>網際網路服務管理員>"建立虛擬目錄的名稱是"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=&q