二、ASP.NET 服務(wù)器控件
可以添加到 ASP.NET 頁(yè)面上的控件有三種類型:
● HTML 服務(wù)器控件:也就是 HTML 標(biāo)簽,位于 System.Web.UI.HtmlControls 命名空間。
● Web 服務(wù)器控件:提供統(tǒng)一的編程模型、包含方法以及現(xiàn)關(guān)的時(shí)間處理程序,并且代碼都在服務(wù)器端執(zhí)行。位于 System.Web.UI.WebControls 命名空間中。
● 定制控件和用戶控件:由開(kāi)發(fā)人員定制的控件。
我們添加的所有服務(wù)器控件都會(huì)自動(dòng)成為對(duì)象模型的一部分,該對(duì)象模型是在這段后置代碼中為窗體構(gòu)建的。基本上,Web 窗體上控件的狀態(tài)信息(包括文本框中的輸入數(shù)據(jù)、下拉列表中的選項(xiàng)等)存儲(chǔ)在隱藏的 viewstate 字段中,這個(gè)字段是服務(wù)器生成頁(yè)面的一部分,并傳送給用戶。在復(fù)雜的窗體上,會(huì)產(chǎn)生很多的 viewstate 值,可以禁用不需保留狀態(tài)信息的控件 Viewstate,也可以禁用整個(gè)頁(yè)面的 Viewstate,有助于提高性能。
修改過(guò)的 .aspx.cs 文件可以不用再次手工編譯,就可以顯示其改變的信息(?)。
一、Crystal Reports(Crystal 報(bào)表服務(wù)器控件)
可以在 Web 頁(yè)面上顯示 Crystal 報(bào)表信息。
二、Standard(標(biāo)準(zhǔn) Web 服務(wù)器控件)
Label:顯示簡(jiǎn)單文本,使用 Text 屬性設(shè)置和編程修改顯示的文本。
TextBox:提供一個(gè)用戶可以編輯的文本框,支持 AutoPostBack 屬性在修改文本內(nèi)容后自動(dòng)回送;支持 TextChanged 事件。
Button:用戶單擊的標(biāo)準(zhǔn)按鈕。支持 Click 事件;支持 Command 事件訪問(wèn)接收的附加屬性 CommandName 和 CommandArgument。
LinkButton:與 Button 相同,但把按鈕顯示為超鏈接。
ImageButton:顯示一個(gè)圖像,其屬性和事件繼承了 Button 和 Image。
HyperLink:添加一個(gè) HTML 超鏈接,NavigateUrl 屬性設(shè)置超鏈接;ImageUrl 屬性指定替換文本的圖片;Target 屬性指定打開(kāi)窗口方式。
DropDownList:允許用戶選擇一個(gè)列表項(xiàng),使用屬性 Items 設(shè)置列表項(xiàng)目(一個(gè) ListItem 集合);SelectedItem 和 SelectedIndex 屬性確定選擇的內(nèi)容;支持 SelectedIndexChanged 事件可以用于確定選項(xiàng)是否改變;支持 AutoPostBack 屬性。
ListBox:允許用戶選擇一個(gè)或多個(gè)列表。把 SelectionMode 設(shè)置為 Muliple 或 Single 可以確定一次選擇多少選項(xiàng);Rows 確定要顯示選項(xiàng)個(gè)數(shù);其他選項(xiàng)與 DropDownList 控件相同。
CheckBox:顯示一個(gè)復(fù)選框,選擇的狀態(tài)在 Checkted 屬性中;文本在 Text 屬性;支持 AutoPostBack 屬性;支持 CheckedChanged 事件。
CheckBoxList:創(chuàng)建一組復(fù)選框,屬性和事件可參照 DropDownList。
RadioButton:顯示一個(gè)單選按鈕,使用 GroupName 屬性可以把 RadioButton 控件鏈接到一個(gè)組中,其他屬性與事件與 CheckBox 相同。
RadioButtonList:創(chuàng)建一組單選按鈕,其屬性與事件類同于其他列表控件。
Image:顯示一個(gè)圖像。使用 ImageUrl 進(jìn)行圖像索引,如果圖像加載失敗則顯示 AlternateText 對(duì)應(yīng)的文本。
ImageMap:類似于 Image,但支持 HotSpot 控件提供的熱區(qū)功能重定向到不同的頁(yè)面。
Table:指定一個(gè)表,可設(shè)定 TableRow 和 TableCell,或者 TableRow 的集合類屬性指定數(shù)據(jù)行。
BulletedList:把一個(gè)選項(xiàng)列表格式化為一個(gè)項(xiàng)目符號(hào)列表,可以有不同的顯示格式,支持 Click 事件確定用戶回送的選項(xiàng);<ol>...</ul>,<ul>...</ul>。
HiddenField:用于提供隱藏的字段,以存儲(chǔ)不同的值。這個(gè)控件可存儲(chǔ)需要另一種存儲(chǔ)機(jī)制才能發(fā)揮作用的設(shè)置。使用 Value 屬性訪問(wèn)存儲(chǔ)的值。
Literal:執(zhí)行與 Label 相同的功能,但沒(méi)有樣式屬性,只有一個(gè) Text 屬性。
Calendar:允許用戶從圖像日歷中選擇一個(gè)日期。基本功能是 SelectedDate 和 VisibleDate 屬性。
AdRotator:廣告流轉(zhuǎn)板,順序顯示幾個(gè)圖像,使用 AdvertisementFile 屬性指定描述圖像的 XML 文件;支持 AdCreated 事件。
FileUpload:提供用戶選擇并上傳文件,支持 HasFile 屬性,支持后臺(tái)代碼的 SaveAs() 方法執(zhí)行文件上傳。
Wizard:用戶簡(jiǎn)化用戶在幾個(gè)頁(yè)面中輸入數(shù)據(jù)的常見(jiàn)任務(wù),可以給向?qū)砑佣鄠€(gè)步驟,按順序或不按順序顯示,并依賴此控件來(lái)維護(hù)狀態(tài)。
Xml:復(fù)雜的文本顯示控件,用于顯示用 XSLT 樣式傳輸?shù)?XML 內(nèi)容。
MultiView:包含一個(gè)或多個(gè) View 控件,每次只顯示一個(gè) View 控件。可用 ActiveViewIndex 屬性指定當(dāng)前;如果視圖改變會(huì)觸發(fā) ActiveViewChanged 事件。
Panel:添加其他控件的容器。可以使用 HorizontalAlign 和 Wiap 指定內(nèi)容如何安排。
View:控件的容器,類似于 PlaceHolder,但主要作用于 MulitView 的子控件,支持 Activate 和 Deactivate 事件檢測(cè)激活狀態(tài)的變化。
Substitution:指定一組不與其他輸出一起高速緩存的 Web 頁(yè)面。
Location:與 Literal 相同,但允許使用項(xiàng)目資源指定要在不同區(qū)域顯示的文本,使文本本地化。
三、Data(數(shù)據(jù) Web 服務(wù)器控件)
數(shù)據(jù) Web 服務(wù)器控件分為兩類:
● 數(shù)據(jù)源控件:實(shí)現(xiàn)從不同數(shù)據(jù)源獲取數(shù)據(jù)的功能,最好通過(guò)圖形化的向?qū)?lái)配置屬性。分為兩類:
System.Web.UI.DataSource(普通數(shù)據(jù)源控件)
ObjectDataSource:可以處理存儲(chǔ)在自己創(chuàng)建的對(duì)象中的數(shù)據(jù),能在 ASP.NET 中快捷顯示定制的對(duì)象模型。
SqlDataSource:使用和操作 SQL Server 數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)管道,返回的對(duì)象是 DataSet。
AccessDataSource:使用和操作 Access 數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)管道。
System.Web.UI.HierarchicalDataSource(層次化數(shù)據(jù)源控件)
XmlDataSource:處理層次結(jié)構(gòu)化的數(shù)據(jù),可以綁定導(dǎo)航控件,還可以使用 XSL 樣式表傳輸 XML 數(shù)據(jù)。
SiteMapDataSource:可以綁定到層次站點(diǎn)地圖數(shù)據(jù)上。
● 數(shù)據(jù)顯示控件
GridView:以數(shù)據(jù)行的格式顯示多個(gè)數(shù)據(jù)項(xiàng)(例如數(shù)據(jù)庫(kù)中的行),利用這個(gè)控件的屬性,可以選擇、排序和編輯數(shù)據(jù)項(xiàng)。
DataList:顯示多個(gè)數(shù)據(jù)項(xiàng),可以為每一項(xiàng)提供模板,以任意指定的方式顯示數(shù)據(jù)字段,可以選擇、排序和編輯數(shù)據(jù)項(xiàng)。
DetailsView:顯示單條數(shù)據(jù)項(xiàng)的詳細(xì)字段,可以添加、編輯和刪除數(shù)據(jù)項(xiàng)。
FormView:使用模板顯示一個(gè)數(shù)據(jù)項(xiàng),可以添加、編輯和刪除數(shù)據(jù)項(xiàng)。
Repeater:類似于 DataList,但是不能選擇和編輯數(shù)據(jù)。
RepeaterViewer:顯示報(bào)表服務(wù)數(shù)據(jù)的高級(jí)控件。
四、Validation(驗(yàn)證 Web 服務(wù)器控件)
驗(yàn)證控件可以在不編寫(xiě)代碼的前提下驗(yàn)證用戶輸入,還可以自動(dòng)給用戶輸出有幫助的提示,甚至還可以生成客戶端的 JavaScript 函數(shù)來(lái)簡(jiǎn)化驗(yàn)證任務(wù)的執(zhí)行。
驗(yàn)證控件只要有回送,每個(gè)驗(yàn)證控件就會(huì)檢查控件是否有效,并相應(yīng)地改變 IsValid 屬性的值。如果頁(yè)面中任何一個(gè)有效性驗(yàn)證控件不通過(guò)驗(yàn)證,那整個(gè)頁(yè)面的 IsValid 屬性為 false。另外,存儲(chǔ)在 ErrorMessage 中的文本可以在驗(yàn)證控件所在位置輸出(Display 屬性),也可以和其他頁(yè)面上的驗(yàn)證控件一起輸出在一個(gè)獨(dú)立的位置(使用 ValidationSummary 控件)。ControlToValidate 屬性用于指定要驗(yàn)證的控件的編程ID。
RequiredFieldValidator:對(duì)輸入控件的非空驗(yàn)證。
CompareValidator:檢查輸入的數(shù)據(jù)是否滿足簡(jiǎn)單的要求。利用一個(gè)運(yùn)算集合,通過(guò) Operator 和 ValueToCompare 屬性進(jìn)行驗(yàn)證。Operator 設(shè)置比較運(yùn)算符 >、<、= ; ValueToCompare 用于比較的值;還有 Type 用于設(shè)置比較的類型;最后還是對(duì)另一控件進(jìn)行比較 ControlToCompare 屬性。
RangeValidator:驗(yàn)證輸入數(shù)據(jù) MaximumValue 和 MinimumValue 間的范圍,Type 指定其驗(yàn)證的數(shù)據(jù)類型。
RegularExpressionValidator:根據(jù)存儲(chǔ)在 ValidationExpression 中的正則表達(dá)式驗(yàn)證字段的內(nèi)容。
CustomValidator:使用定制函數(shù)驗(yàn)證控件的數(shù)據(jù),自定義驗(yàn)證。ClientValidationFunction 用戶設(shè)置客戶端驗(yàn)證的腳本函數(shù);ServerValidate 事件指定服務(wù)器驗(yàn)證數(shù)據(jù)的方法。
ValidationSummary:為所有設(shè)置了 ErrorMessage 的驗(yàn)證控件顯示驗(yàn)證錯(cuò)誤。通過(guò) DisplayMode 和 HeaderText 屬性使其顯示的內(nèi)容可以格式化;ShowSummary 屬性設(shè)置是否顯示;ShowMessageBox 屬性設(shè)置是否彈出對(duì)話框顯示信息。
五、Navigation (導(dǎo)航 Web 服務(wù)器控件)
SiteMapPath:顯示路徑樣式的信息,允許用戶產(chǎn)看他們?cè)谡军c(diǎn)結(jié)構(gòu)中的位置,并導(dǎo)航到父區(qū)域中。
Menu:支持靜態(tài)或動(dòng)態(tài)樣式的菜單導(dǎo)航站點(diǎn)。
TreeView:可以在樹(shù)形結(jié)構(gòu)中顯示層次化數(shù)據(jù)。樹(shù)中的節(jié)點(diǎn)存儲(chǔ)在 Nodes 屬性中,選中的節(jié)點(diǎn)存儲(chǔ)在 SelectedNode 中,支持 SelectedNodeChanged 和 TreeNodeCollapsed 事件。
根目錄下的站點(diǎn)地圖 Web.sitemap XML 文件包含一個(gè)<siteMap>元素,這個(gè)跟元素包含一個(gè)<siteMapNode>元素,<siteMapNode>元素可以包含多個(gè)嵌套的<siteMapNode>元素。每個(gè)跟元素都包含下列屬性 title、url、roles、description 屬性。
添加控件時(shí)將使用默認(rèn)的提供程序和當(dāng)前的 URL 位置,格式化父頁(yè)面的鏈接列表。如果使用定制的提供程序,可以通過(guò) SiteMapProvider 屬性指定提供程序ID,還可以使用 StartingNodeOffset 刪除菜單數(shù)據(jù)的上一層(例如根級(jí)的 Home 項(xiàng));“數(shù)據(jù)源控件”的 ShowStartingNode 屬性選定是否刪除頂級(jí)鏈接;使用 StartFromCurrentNode 屬性指定是否從當(dāng)前位置開(kāi)始;使用 StringNodeUrl 會(huì)重寫(xiě)根節(jié)點(diǎn)。
地圖
默認(rèn)提供程序會(huì)忽略 roles 屬性,這種定制將在 Web.config 文件的 securityTrimmingEnable 屬性設(shè)置為當(dāng)前用戶允許查看的節(jié)點(diǎn)提供數(shù)據(jù),這種可見(jiàn)性是由用戶的角色成員決定的。
posted on 2008-11-06 20:34
黃小二 閱讀(454)
評(píng)論(0) 編輯 收藏 所屬分類:
ASP.NET