ASP。NET 伺服器控制項概觀

文章翻譯 文章翻譯
文章編號: 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 網站取得:
HtmlAnchor 控制

HtmlButton 控制

HtmlForm 控制

HtmlImage 控制

HtmlInputButton 控制

HtmlInputCheckBox 控制

HtmlInputFile 控制

HtmlInputHidden 控制

HtmlInputImage 控制

HtmlInputRadioButton 控制

HtmlInputText 控制

HtmlSelect 控制

HtmlTable 控制

HtmlTableCell 控制

HtmlTableCell 控制

HtmlTextArea 控制

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 網站取得:
Button Web 伺服器控制項

核取方塊的 Web 伺服器控制項

超連結的 Web 伺服器控制項

映像 Web 伺服器控制項

ImageButton Web 伺服器控制項

Label Web 伺服器控制項

LinkButton Web 伺服器控制項

常值的 Web 伺服器控制項

面板 Web 伺服器控制項

版面配置區的 Web 伺服器控制項

選項按鈕的 Web 伺服器控制項

Table Web 伺服器控制項

TableCell Web 伺服器控制項

TableRow Web 伺服器控制項

TextBox Web 伺服器控制項

驗證控制項

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

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

RangeValidator 控制

CompareValidator 控制項

RegularExpressionValidator 控制

一起控制

ValidationSummary 控制

清單控制項

清單控制項是特殊的 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 網站取得:
清單方塊的 Web 伺服器控制項

CheckBoxList Web 伺服器控制項

RadioButtonList Web 伺服器控制項

雙向中繼器 Web 伺服器控制項

資料清單 Web 伺服器控制項

DataGrid 的 Web 伺服器控制項

DropDownList Web 伺服器控制項

豐富的控制項

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

如需有關個別的豐富在 ASP 中可用的控制項。Net 詳細資訊,請參閱下列 Microsoft 網站站台:
AdRotator Web 伺服器控制項

行事曆 Web 伺服器控制項

Xml Web 伺服器控制項

使用者控制項

通常,可能會想要重覆使用 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)文件:
Web Form 使用者控制項

自訂控制項

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

開發自訂控制項: 重要概念

開發複合控制項

屬性

文章編號: 306459 - 上次校閱: 2012年6月11日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
關鍵字:?
kbarttyperoadmap kbdatabinding kbinfo kbservercontrols kbvalidation kbwebforms kbmt KB306459 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:306459
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com