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