程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0後台代碼與內聯代碼的對比

ASP.NET 2.0後台代碼與內聯代碼的對比

編輯:關於ASP.NET

內聯(Inline)代碼的分離

下面的例子演示了一個簡單的帶有三個服務器控件(分別是文本框、按鈕和標簽)的ASP.NET頁面。最初這些控件呈現的內容與HTML形式是相同的。但是,當你在客戶端的文本框中輸入值並點擊按鈕的時候,該頁面會發回服務器並且在該頁面的代碼中處理這個點擊事件,動態地更新標簽控件的Text屬性。接下來這個頁面會重新呈現以反映更新過的文本。這個簡單的例子演示了服務器控件模型背後的基本原理,它使ASP.NET成為最容易學習和掌握的Web編程模型之一。

<%@ page language="VB" %>
<script runat="server">
Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Label1.Text = "Hello " & TextBox1.Text
End Sub
</script>

<html>
<head>
<title>ASP.NET Inline Pages</title>
</head>
<body>
<form id="Form1" runat="server">
<h1>Welcome to ASP.NET 2.0!</h1>
<b>Enter Your Name:</b>
<asp:TextBox ID="TextBox1" Runat="server"/>
<asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
<br />
<br />
<asp:Label ID="Label1" Text="Hello" Runat="server" />
</form>
</body>
</html>

請注意:上面的例子中的按鈕事件處理程序位於包含服務器控件的同一個頁面中的<script></script>標記之內。ASP.NET把這種情況稱為頁面編程代碼內聯(code-inline),當你希望在同一個文件中處理代碼和顯示邏輯的時候,它是非常有用的。但是,ASP.NET還支持另外一種用於存放你的代碼和顯示內容的方法,稱為後台代碼(code-behind)模型。使用後台代碼的時候,處理事件的代碼位於與服務器控件和標記的頁面文件分離的另一個物理上獨立的文件之中。當你需要維護這些獨立的文件(例如多個人一起建立應用程序)的時候,代碼和內容之間的這種清晰的分離是非常有用的。在小組項目中,設計者處理應用程序的UI部分,開發者處理行為或代碼是很常見的,後台代碼模型適合於這種情況。

簡化的後台代碼模型

ASP.NET 2.0為後台代碼頁面引入了一個改良的運行時(runtime),它簡化了頁面和代碼之間的連接。在新的後台代碼模型中,頁面被聲明為局部(partial)類,允許在運行時把頁面和代碼文件編譯到一個類中。頁面代碼引用CodeFile屬性和<%@ Page %>指令中的後台代碼文件,在Inherits屬性中指定類的名稱。請注意,後台代碼類的成員必須是公共的(public)或受保護的(protected),不能是私有的(private)。

<%@ page language="VB" CodeFile="CodeBehind_vb.aspx.vb" Inherits="CodeBehind_vb_aspx" %>

<html>
<head>
<title>ASP.NET CodeBehind Pages</title>
</head>
<body>
 <form runat="server">
  <h1>Welcome to ASP.NET 2.0!</h1>
  <b>Enter Your Name:</b>
  <asp:TextBox ID="TextBox1" Runat="server"/>
  <asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
  <br />
  <br />
  <asp:Label ID="Label1" Text="Hello" Runat="server" />
 </form>
</body>
</html>

簡化的後台代碼模型的優勢在於,你不必單獨地在後台代碼類中聲明服務器控件變量。使用局部類(2.0中的新特性)允許ASPX頁面中的服務器控件ID直接被後台代碼文件訪問。這極大地簡化了後台代碼頁面的維護工作量。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved