人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

ASP.NET中的代碼分離

ASP.NET中的代碼分離

更新時(shí)間:2022-06-07 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

ASP.NET中包含了一種新方法:將商業(yè)邏輯代碼從表達(dá)代碼中分離出來。這通常被稱為背后的代碼,功能非常強(qiáng)大,并且非常容易執(zhí)行。實(shí)現(xiàn)步驟就是:向ASP.NET 頁面中增加用戶界面元素,并為它們指定屬性“runat=server”。然后,用.NET語言創(chuàng)建一個(gè)類文件來操作這些用戶界面元素。最后,在ASP.NET 頁面頂部增加一個(gè)指令,將用戶界面與操作它的類文件附著在一起。

用一個(gè)簡單的例子就能展示它是如何完成的。下面創(chuàng)建一個(gè)名叫WebPage.aspx的ASP.NET頁面,在其中粘貼以下代碼:

<%@ Page Language="VB" Inherits="dotNet101.MySample.WebPage" %>
<html>
<head>
<title>Code-Behind Demo</title>
</head>
<body>
<form id="messageForm" runat="server">
<asp:TextBox id="message" runat="server" />
<asp:Button id="submit" OnClick="submit_OnClick" Text="Send Message" runat="server" />
</form>
</body>
</html>

請注意增加到“Page”指令中的“Inherits”屬性,它負(fù)責(zé)通知ASP.NET頁面應(yīng)該為其商業(yè)邏輯使用“dotNet101.MySample.WebPage”類。我們已經(jīng)向這個(gè)頁面增加了兩個(gè)ASP.NET服務(wù)器控件,并且為它們和Form控件本身指定了“runat=server”屬性。這些都是背后的代碼類將要操作的控件。當(dāng)用戶點(diǎn)擊“submit”(提交)按鈕時(shí),指定給Button服務(wù)器控件的“OnClick”屬性就會(huì)告訴ASP.NET引擎激活背后代碼類中的submit_OnClick事件處理器。

下面,我們需要?jiǎng)?chuàng)建一個(gè)背后代碼類文件來操作ASP.NET頁面。創(chuàng)建一個(gè)名為CodeBehind.vb的文件,類的Visual Basic.NET 代碼如下:

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Namespace dotNet101.MySample
Public Class WebPage : Inherits Page
Protected messageForm As HtmlForm
Protected message As TextBox
Public Sub submit_OnClick(sender As Object, e As EventArgs)
Dim output As Label = New Label
output.Text = "You just typed: " & message.Text
messageForm.Controls.Add(output)
End Sub
End Class
End Namespace

在這個(gè)類文件中,我們引入了許多名稱空間,從而幫助背后代碼的處理。如果我們沒有引入這些名稱空間的話,就無權(quán)使用適當(dāng)?shù)?NET對象來使背后代碼工作。然后我們要指定自己的定制名稱空間。這樣以來,如果我們愿意的話,就可以在一個(gè)文件中包含一個(gè)以上的背后代碼類。否則,每個(gè)背后代碼都需要存在于它自己的文件中,你就需要在ASP.NET頁面“Page”指令的“Src”屬性中指定這個(gè)文件。

我們的WebPage類是從普通的Page(頁面)對象中繼承來的,因此它有權(quán)使用它的固有服務(wù)。這樣,就可以與ASP.NET 頁面相互作用,并且如果必要的話,可以在Page (頁面)層事件,如Page_Init 和 Page_Load中放置事件。在這個(gè)例子中,我們只是想對ASP.NET頁面上的提交按鈕的點(diǎn)擊做出響應(yīng),所以我們執(zhí)行以前在ASP.NET 頁面中引用過的submit_OnClick 事件處理器。在事件處理器內(nèi)部,我們聲明并且初始化一個(gè)新的Label(標(biāo)簽)服務(wù)器控件。然后我們抓取“message”TextBox (信息文本框)服務(wù)器控件的內(nèi)容,并將其分配給新的Label(標(biāo)簽)服務(wù)器控件。最后,我們向Form(表單)服務(wù)器控件的Controls(控件)集合中增加Label(標(biāo)簽)服務(wù)器控件。這樣,當(dāng)頁面重新裝載時(shí),信息就會(huì)被顯示在頁面上。

要注意我們聲明受保護(hù)的變量“messageForm”和“message”來存放在ASP.NET頁面上對它們相應(yīng)控件的引用,正是這些聲明使我們能夠從背后代碼類中看到和操作控件。實(shí)際上,背后代碼類在遺傳層次上比ASP.NET 頁面本身的位置還要高,因此在ASP.NET 頁面上相應(yīng)的控件只是通過遺傳在簡單地“執(zhí)行”背后代碼類中的聲明。

例子的最后一步是編譯背后代碼類,這可以通過在命令行執(zhí)行使用下面的指令完成:

vbc /t:library /out:dotNet101.MySample.dll
/r:System.dll,System.Web.dll CodeBehind.vb

運(yùn)行了這個(gè)指令后,一個(gè)名為“dotNet101.MySample.dll”的文件就會(huì)出現(xiàn)在目錄中,然后將這個(gè)文件放在ASP.NET站點(diǎn)的 “bin”

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 鹿泉市| 灵山县| 河曲县| 都江堰市| 万全县| 元江| 宁强县| 高陵县| 浠水县| 瑞金市| 克东县| 富民县| 呼和浩特市| 陆良县| 连山| 茂名市| 元朗区| 龙井市| 边坝县| 库尔勒市| 沾化县| 华容县| 镇安县| 泽普县| 凉城县| 张家港市| 孝感市| 北流市| 宿迁市| 屏边| 札达县| 丰都县| 抚州市| 东阳市| 丰台区| 康定县| 敦化市| 申扎县| 安达市| 噶尔县| 新巴尔虎左旗|