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