W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
控件是在圖形用戶界面中的小功能塊,其中包括文本框,按鈕,復(fù)選框,列表框,標(biāo)簽,和許多其它工具。利用這些工具,用戶可以輸入數(shù)據(jù),進(jìn)行選擇并注明自己的喜好。
控件也用于結(jié)構(gòu)性工作,如驗(yàn)證,數(shù)據(jù)訪問,安全保證,創(chuàng)建母版頁和數(shù)據(jù)操作。
ASP.NET 使用五種類型的 Web 控件,它們是:
ASP.NET 服務(wù)器控件是在 ASP.NET 中使用的主要控件。這些控件可被分成以下幾類:
使用服務(wù)器控件的基本語法是:
<asp:controlType ID ="ControlID" runat="server" Property1=value1 [Property2=value2] />
此外,Visual Studio還具有以下特點(diǎn),以幫助產(chǎn)生無差錯(cuò)代碼:
具有可視化功能的 ASP.NET 服務(wù)器控件來源于 WebControl 類,并且繼承該類別的所有屬性,事件以及方法。
WebControl 類本身以及其他不具有可視化功能的服務(wù)器控件都來源于 System.Web.UI.Control 類。例如,PlaceHolder 控件或 XML 控件。
ASP.Net 服務(wù)器控件繼承了 WebControl 和 System.Web.UI.Control 類的所有屬性,事件,以及方法。
下表顯示了通用于所有服務(wù)器控件的屬性:
屬性 | 描述 |
---|---|
AccessKey | 同時(shí)按下該按鍵以及 Alt 鍵以將焦點(diǎn)移至控件。 |
Attributes | 它是不對(duì)應(yīng)控件屬性的任意屬性(僅用于視圖呈現(xiàn))的集合。 |
BackColor | 背景色。 |
BindingContainer | 包含數(shù)據(jù)綁定的控件。 |
BorderColor | 邊框顏色。 |
BorderStyle | 邊框樣式。 |
BorderWidth | 邊框?qū)挾取?/td> |
CausesValidation | 引起驗(yàn)證時(shí)顯示。 |
ChildControlCreated | 表示服務(wù)器控件的子控件是否建立。 |
ClientID | HTML 標(biāo)記的控件 ID。 |
Context | 與服務(wù)器控件關(guān)聯(lián)的 HttpContext 對(duì)象。 |
Controls | 控件內(nèi)全部控件的集合。 |
ControlStyle | Web 服務(wù)器控件的樣式。 |
CssClass | CSS 類。 |
DataItemContainer | 若命名器執(zhí)行 IDataItemContainer,則為命名器提供參考。 |
DataKeysContainer | 若命名器執(zhí)行 IDataKeysControl,則為命名器提供參考。 |
DesignMode | 表示控件在設(shè)計(jì)界面是否被使用。 |
DisabledCssClass | 當(dāng)控件禁用時(shí),獲取或設(shè)置 CSS 類來應(yīng)用呈現(xiàn)的 HTML 元素。 |
Enabled | 表示控件是否被禁用。 |
EnableTheming | 表示主題是否適用于控件。 |
EnableViewState | 表示是否維持控件的視圖狀態(tài)。 |
Events | 獲取代表控件的事件處理程序的列表。 |
Font | 字體設(shè)定。 |
Forecolor | 前景顏色。 |
HasAttributes | 表示控件是否具有屬性組。 |
HasChildViewState | 表示當(dāng)前服務(wù)器控件的子控件是否具有任何已保存的視圖狀態(tài)設(shè)置。 |
Height | 高度的像素或百分比。 |
ID | 控件的標(biāo)識(shí)符。 |
IsChildControlStateCleared | 表示包含在該控件內(nèi)部的控件是否具有控件狀態(tài)。 |
IsEnabled | 獲取表示控件是否被啟用的值。 |
IsTrackingViewState | 表示服務(wù)器控件是否會(huì)將更改保存到其視圖狀態(tài)。 |
IsViewStateEnabled | 表示視圖狀態(tài)是否對(duì)該控件啟用。 |
LoadViewStateById | 表示控件是否是由 ID 而非索引來參與加載其視圖狀態(tài)。 |
Page | 包含控件的頁面。 |
Parent | 家長控制功能。 |
RenderingCompatibility | 指定呈現(xiàn)的 HTML 將與之兼容的 ASP.NET 版本。 |
Site | 當(dāng)設(shè)計(jì)界面顯示時(shí)容納當(dāng)前控件的承載器。 |
SkinID | 獲取或設(shè)置適用于控件的皮膚。 |
Style | 獲取將在 Web 服務(wù)器控件的外部標(biāo)簽作為樣式屬性顯示的文本屬性的集合。 |
TabIndex | 獲取或設(shè)置 Web 服務(wù)器控件的索引標(biāo)簽。 |
TagKey | 獲取對(duì)應(yīng)該 Web 服務(wù)器控件的 HtmlTextWriterTag 值。 |
TagName | 獲取控件標(biāo)簽的名稱。 |
TemplateControl | 包含該控件的模板。 |
TemplateSourceDirectory | 獲取頁面的虛擬目錄或包含在該控件中的控件。 |
ToolTip | 獲取或設(shè)置當(dāng)鼠標(biāo)指針停在 Web 服務(wù)器控件時(shí)顯示的文本。 |
UniqueID | 唯一的標(biāo)識(shí)符。 |
ViewState | 獲取能夠穿越同一頁面的多重請(qǐng)求后保存和恢復(fù)服務(wù)器控件視圖狀態(tài)的狀態(tài)信息詞典。 |
ViewStateIgnoreCase | 表示 StateBag 對(duì)象是否不區(qū)分大小寫。 |
ViewStateMode | 獲取或設(shè)置該控件的視圖狀態(tài)。 |
Visible | 表示服務(wù)器控件是否可見。 |
Width | 獲取或設(shè)置 Web 服務(wù)器控件的寬度。 |
服務(wù)器控件的方法在以下表格中呈現(xiàn):
方法 | 描述 |
---|---|
AddAttributesToRender | 添加需要呈現(xiàn)指定 HtmlTextWriterTag 的 HTML 屬性和樣式。 |
AddedControl | 在子控件添加到控件對(duì)象的控件集合后調(diào)用。 |
AddParsedSubObject | 通報(bào)服務(wù)器控件一個(gè)元素,XML 或 HTML 已被解析,并將該元素添加到服務(wù)器控件的控件集合。 |
ApplyStyleSheetSkin | 將在頁面樣式表中定義的樣式屬性應(yīng)用到控件中。 |
ClearCachedClientID | 基礎(chǔ)設(shè)施。設(shè)置緩存的 ClientID 值設(shè)置為 null。 |
ClearChildControlState | 為服務(wù)器控件的子控件刪除控件狀態(tài)信息。 |
ClearChildState | 為所有服務(wù)器控件的子控件刪除視圖狀態(tài)和控件狀態(tài)信息。 |
ClearChildViewState | 為所有服務(wù)器控件的子控件刪除視圖狀態(tài)信息。 |
CreateChildControls | 用于創(chuàng)建子控件。 |
CreateControlCollection | 創(chuàng)建一個(gè)用于保存子控件的新控件集合。 |
CreateControlStyle | 創(chuàng)建一個(gè)用于實(shí)現(xiàn)所有與樣式有關(guān)的屬性的樣式對(duì)象。 |
DataBind | 將數(shù)據(jù)源綁定到服務(wù)器控件及其所有子控件。 |
DataBind(Boolean) | 將數(shù)據(jù)源及可以引發(fā) DataBinding 事件的選項(xiàng)綁定到服務(wù)器控件及其所有子控件。 |
DataBindChildren | 將數(shù)據(jù)源綁定到服務(wù)器控件的子控件。 |
Dispose | 啟用一個(gè)服務(wù)器控件在其從內(nèi)存中釋放出來前去執(zhí)行最后的清理操作。 |
EnsureChildControls | 確定服務(wù)器控件是否包含子控件。若沒有,則創(chuàng)建子控件。 |
EnsureID | 為沒有標(biāo)識(shí)符的控件創(chuàng)建一個(gè)標(biāo)識(shí)符。 |
Equals(Object) | 確定指定對(duì)象是否等于當(dāng)前對(duì)象。 |
Finalize | 允許一個(gè)對(duì)象去嘗試釋放資源并在對(duì)象被回收站回收前執(zhí)行其他清理操作。 |
FindControl(String) | 搜索當(dāng)前命名容器中具有指定 id 參數(shù)的服務(wù)器控件。 |
FindControl(String, Int32) | 搜索當(dāng)前命名容器中具有指定 id 參數(shù)和整數(shù)的服務(wù)器控件。 |
Focus | 為控件設(shè)置輸入焦點(diǎn)。 |
GetDesignModeState | 獲取控件的設(shè)計(jì)時(shí)數(shù)據(jù)。 |
GetType | 獲取當(dāng)前實(shí)例的類型。 |
GetUniqueIDRelativeTo | 返回指定控件的唯一 ID 屬性的預(yù)固定部分。 |
HasControls | 確定服務(wù)器控件是否包含子控件。 |
HasEvents | 表示事件是否被控件或其他子控件注冊(cè)。 |
IsLiteralContent | 確定服務(wù)器控件是否僅含有文字內(nèi)容。 |
LoadControlState | 恢復(fù)控件狀態(tài)信息。 |
LoadViewState | 恢復(fù)視圖狀態(tài)信息。 |
MapPathSecure | 檢索絕對(duì)的或相對(duì)的虛擬路徑映射到的物理路徑。 |
MemberwiseClone | 創(chuàng)建當(dāng)前對(duì)象的淺復(fù)制。 |
MergeStyle | 復(fù)制指定樣式的 Web 控件的任意非空白元素,但不覆蓋該控件現(xiàn)有的任何樣式元素。 |
OnBubbleEvent | 確定服務(wù)器控件的事件是否通過頁面的 UI 服務(wù)器控件層級(jí)。 |
OnDataBinding | 引發(fā)數(shù)據(jù)綁定事件。 |
OnInit | 引發(fā) Init 事件。 |
OnLoad | 引發(fā)加載事件。 |
OnPreRender | 引發(fā) PreRender 事件。 |
OnUnload | 引發(fā)卸載事件。 |
OpenFile | 獲取用于讀取文件的流。 |
RemovedControl | 在子控件從控件對(duì)象的控件集合中移除后調(diào)用。 |
Render | 顯示控件到指定的 HTML 作者。 |
RenderBeginTag | 顯示控件的 HTML 開口標(biāo)簽到指定作者。 |
RenderChildren | 輸出服務(wù)器控件子級(jí)的內(nèi)容到提供的 HtmlTextWriter 對(duì)象中,從而編寫呈現(xiàn)在客戶端上的內(nèi)容。 |
RenderContents | 顯示控件內(nèi)容到指定作者。 |
RenderControl(HtmlTextWriter) | 輸出服務(wù)器控件內(nèi)容到提供的 HtmlTextWriter 對(duì)象并在啟用跟蹤的情況下保存關(guān)于控件的跟蹤信息。 |
RenderEndTag | 顯示控件的 HTML 結(jié)束標(biāo)簽到指定作者。 |
ResolveAdapter | 獲取負(fù)責(zé)呈現(xiàn)指定控件的控件適配器。 |
SaveControlState | 保存自頁面回發(fā)到服務(wù)器后出現(xiàn)的服務(wù)器控件的狀態(tài)改變。 |
SaveViewState | 保存調(diào)用 TrackViewState 方法之后修改的任意狀態(tài)。 |
SetDesignModeState | 為控件設(shè)置設(shè)計(jì)時(shí)數(shù)據(jù)。 |
ToString | 返回代表當(dāng)前對(duì)象的字符串。 |
TrackViewState | 引發(fā)控件跟蹤其視圖狀態(tài)的變化,使其可以存儲(chǔ)在該對(duì)象的視圖狀態(tài)屬性中。 |
讓我們來看一看一個(gè)特定的服務(wù)器控件 - 樹型視圖控件。樹視圖控件屬于導(dǎo)航控件。其他導(dǎo)航控件是:菜單控件和 SiteMapPath 控件。
在頁面上添加樹視圖控件。從任務(wù)中選擇編輯結(jié)點(diǎn)...使用樹視圖結(jié)點(diǎn)編輯器編輯每個(gè)結(jié)點(diǎn),如下所示:
當(dāng)成功創(chuàng)建結(jié)點(diǎn)之后,設(shè)計(jì)視圖下會(huì)有如下顯示:
AutoFormat... 任務(wù)允許您規(guī)定樹視圖的格式,如下所示:
在頁面上添加一個(gè)標(biāo)簽控件和文本框控件并分別命名為 lblmessage 和 txtmessage。
寫幾行代碼,以確保當(dāng)一個(gè)特定結(jié)點(diǎn)被選中時(shí),標(biāo)簽控件顯示結(jié)點(diǎn)文字且文本框顯示所有其下的子結(jié)點(diǎn)(如有)。后臺(tái)文件的代碼應(yīng)如下所示:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace eventdemo {
public partial class treeviewdemo : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
txtmessage.Text = " ";
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) {
txtmessage.Text = " ";
lblmessage.Text = "Selected node changed to: " + TreeView1.SelectedNode.Text;
TreeNodeCollection childnodes = TreeView1.SelectedNode.ChildNodes;
if(childnodes != null) {
txtmessage.Text = " ";
foreach (TreeNode t in childnodes) {
txtmessage.Text += t.Value;
}
}
}
}
}
執(zhí)行頁面以觀看效果,您將可以展開和折疊結(jié)點(diǎn)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: