ASP。NET 伺服器控制項概觀

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:306459
本文參照下列的 Microsoft。NET架構類別庫命名空間:
  • System.Web.UI.HtmlControls.HtmlControl
  • System.Web.UI.WebControls.WebControl
結論
本文介紹的 asp。NET 的伺服器控制項。

對於其他 ASP。NET 概觀資訊,請參閱下列微軟知識庫文件:
305140 資訊: ASP。NET 藍圖
其他相關資訊
ASP。NET 網頁架構包含內建的數字伺服器控制項,為了提供更多的結構化程式設計模型網站。這些控制項提供下列功能:
  • 自動狀態管理。
  • 簡單物件值,而不必使用要求物件的存取。
  • 若要建立伺服器端程式碼中的事件產生反應的能力結構較佳的應用程式。
  • 若要建立使用者介面,對 Web 使用通俗易懂網頁相關資訊。
  • 自動自訂其輸出為基礎瀏覽器功能。
除了內建的控制項中,ASP。Net WEB 網頁架構也能夠讓您建立使用者控制項和自訂控制項。使用者控制項和自訂控制項可以加強並延伸現有若要建置更豐富的使用者介面控制項。

HTML 伺服器控制項

HTML 伺服器控制項是 「 超文字標記語言 (HTML)包含的項目此刻執行 = 伺服器屬性。HTML 伺服器控制項有相同的 HTML 輸出,其相對應的 HTML 標籤相同的屬性。此外,HTML 伺服器控制項提供自動狀態管理和伺服器端事件。HTML 伺服器控制項具有下列優點:
  • HTML 伺服器控制項的一對一的對應其對應的 HTML 標記。
  • 當 ASP。NET 應用程式編譯時,HTML 伺服器控制與此刻執行 = 伺服器屬性都會編譯至組件。
  • 大部分的控制項包含OnServerEvent控制項最常使用的事件。比方說,[<input type="button">控制項具有OnServerClick事件。
  • 並不會實作特定的 html 格式的 HTML 標籤伺服器控制項仍能在伺服器端。不過,這些原型會加入若要為HtmlGenericControl的組件。
  • 當 ASP。NET 網頁會重新公佈,HTML 伺服器控制項將保留它們的值。
System.Web.UI.HtmlControls.HtmlControl基底類別會包含所有的通用屬性。HTML 伺服器從這個類別衍生的控制項。

若要使用 HTML 伺服器控制項,請使用下列語法 (使用HtmlInputText控制項為例):
<input type="text" value="hello world" runat=server />				
如需有關的個別 HTML 伺服器控制項適用於 [ASP]。NET 中,參照至下列 Microsoft 網站取得: back to the top

Web 伺服器控制項

Web 控制項是非常類似於 HTML 伺服器控制項,例如按鈕文字方塊超連結,但該 Web 控制項有標準化的屬性名稱。Web 伺服器控制項具有下列優點:
  • 讓製造商和開發人員建置更容易工具或自動產生使用者的應用程式介面。
  • 簡化建立互動式 Web form,程序這需要費心思的 HTML 控制項的運作方式,並進行的工作,使用它們比較不容易發生錯誤。
System.Web.UI.WebControls.WebControl基底類別會包含所有的通用屬性。大部分的網頁伺服器控制項衍生自這個類別。

若要使用 Web 伺服器控制項,請使用下列語法 (這會使用 [文字方塊] 控制項為例):
<asp:textbox text="hello world" runat=server />				
Web 伺服器控制項可以分成四大類:

基本 Web 控制項

基本 Web 控制項,提供其 HTML 和相同的功能伺服器控制項的相對項目。不過,基本 Web 控制項包含其他方法、 事件和屬性,您可以對其進行程式設計。

如需有關個別 Web 控制項中可用ASP。NET 中,參照至下列 Microsoft 網站取得:

驗證控制項

驗證控制項用來驗證所使用的值在頁面的其他控制項中輸入。驗證控制項會執行用戶端驗證、 伺服器端驗證,或兩者皆選,取決於顯示的網頁瀏覽器功能。驗證控制項具有下列優點:
  • 您可以將一或多個驗證控制項產生關聯與每個您想要驗證的控制項。
  • 網頁表單時,系統會執行驗證送出。
  • 您可以指定以程式設計方式驗證是否應該發生,這是很有用,如果您想要提供一個 [取消] 按鈕,讓使用者可以結束而不需要填寫所有欄位中的有效資料。
  • 驗證控制項會自動偵測是否應該用戶端或伺服器上執行驗證側邊。

    附註用戶端驗證會在回傳作業完成之前,攔截錯誤。因此,如果您在單一頁面上的用戶端和伺服器端驗證控制項的組合,伺服器端驗證將會清空在用戶端驗證失敗時。
如需有關個別驗證控制項可用於 ASP。NET 中,參照至下列 Microsoft 網站取得:

清單控制項

清單控制項是特殊的 Web 伺服器控制項支援繫結至集合。您可以使用清單控制項來顯示資料列中的資料自訂的範本格式。所有清單控制項公開 (expose 都)資料來源DataMember屬性,它們用來繫結至集合。

清單控制項可繫結只支援IEnumerableICollectionIListSource介面的集合。比方說,Microsoft Visual C#。NET 範例頁面會出現,如下所示:
<%@ Page Language="C#" %><script runat="server">Public void Page_Load(){	String[] myStringArray = new String[] {"one","two","three"};	rptr.DataSource = myStringArray;	rptr.DataBind();}</script><html><body><asp:repeater id=rptr runat="server">	<itemtemplate><%# Container.DataItem %><br></itemtemplate></asp:repeater></body></html>				
Microsoft Visual Basic。NET 範例頁面會出現,如下所示:
<%@ Page Language="vb" %><script runat="server">public sub Page_Load()   	Dim myStringArray as String()   	myStringArray = new String() {"one","two","three"}   	rptr.DataSource = myStringArray   	rptr.DataBind()end sub</script><html><body>	<asp:repeater id=rptr runat="server">   		<itemtemplate><%# Container.DataItem %><br></itemtemplate>	</asp:repeater></body></html>				
輸出如下所示:
其中一個
兩個
三個
如需有關個別清單的控制項適用於 [ASP]。NET 中,參照至下列 Microsoft 網站取得:

豐富的控制項

除了上述的控制項中,ASP。NET 網頁架構提供較少、 特定工作的控制項,稱為 rich 控制項。Rich 控制項以多個 HTML 項目建置,而且包含豐富的功能。範例豐富的控制項是 [月曆] 控制項和AdRotator控制項。

如需有關個別的豐富在 ASP 中可用的控制項。Net 詳細資訊,請參閱下列 Microsoft 網站站台: back to the top

使用者控制項

通常,可能會想要重覆使用 Web form 使用者介面而不需要撰寫任何額外的程式碼。ASP。NET 可讓您藉由執行這項操作將您的 Web Form 轉換成使用者控制項。有的使用者控制項.ascx 副檔名,可以重複使用單一的 Web 中表單。

若要轉換到使用者控制項的 Web 表單,請遵循下列步驟:
  1. 全部移除<html>,<head>,<body>以及<form>標記。</form></body></head></html>
  2. 如果@ Page指示詞會出現在頁面上,將它變更為@ Control
  3. @ Control指示詞的類別名稱屬性,這樣使用者控制項的強型別時您它具現化。
  4. 指定控制項的描述性的檔案名稱,並將變更從.aspx 檔案副檔名為.ascx。
如需有關使用者控制項的詳細資訊,請參閱在 Microsoft 中的下列主題。NET Framework 軟體開發套件 (SDK)文件: back to the top

自訂控制項

除了內建 Web 控制項,ASP。NET 還可以讓您若要建立您自己的自訂控制項。它可以用來開發自訂控制項如果您遇到下列情況:
  • 您需要結合兩個或更多的功能內建 Web 控制項。
  • 您需要擴充內建的功能控制項。
  • 您需要一個與任何完全不同的控制項現有的控制項。
如需有關如何開發自訂控制項的詳細資訊,請參閱下列主題中的。NET Framework SDK 文件: back to the top

警告:本文為自動翻譯

內容

文章識別碼:306459 - 最後檢閱時間:06/11/2012 09:27:00 - 修訂: 1.0

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbarttyperoadmap kbdatabinding kbinfo kbservercontrols kbvalidation kbwebforms kbmt KB306459 KbMtzh
意見反應