Posted on 2006-08-08 00:04
大大毛 閱讀(589)
評論(0) 編輯 收藏 所屬分類:
ASP.NET
???ASP.NET提供的WEB控件分類
??????內部控件,基于HTML控件,具有 runas=server 的屬性;
??????列表控件,用于在WEB頁中創建數據列表,常用的有 Repeater, DataList, DataGrid
??????復雜控件,用簡單控件聚合而成,如日歷
??????驗證控件,對輸入數據進行準確性和范圍的檢查(驗證工作在 Server 端進行)
???文本輸入
??????textbox
??????通過設置該控件的 TextMode 屬性可以實現 1.單行文本 2.多行文本 3.密碼文本 三種VIEW,多行文本模式時屬性 cols,rows生效。
???
控制轉移
??????1.Button
??????2.LinkButton
??????3.ImageButton
??????4.
HyperLink
??????1 - 3 都屬于 button ,可以響應事件,而 HyperLink 則不行。HyperLink 與 HTML 中的錨一樣,點擊它并不會產生向服務器的提交,而將在客戶端完成跳轉,與錨標記相比的好處在于,它屬于服務器控件,因此可以在類中使用 this 指針加以引用,方便編程。
??????Button 有個 commandName 屬性,在演示中讓它充當了 TAG 的角色,用于一個事件響應多個 Button 控件時對對象的區別:
?????????if( ((System.Web.UI.WebControls.Button)sender).CommandName == "b1" )
??????LinkButton,樣子與 HyperLink差不多,但是有著明顯的區別,它是可以響應事件的(會產生對服務器的提交);
??????ImageButton,具有一個ImageURL屬性可以加載圖片,AlternateText屬性指定圖片無法找到時顯示的文字,另外它的事件響應形參類型也有著不同,是 ImageClickEventArgs 類型,該類型具有的 x,y屬性可以使事件對于點擊到圖片上的具體區域做出反應。
???選擇
??????1.CheckBox
??????2.RadioButton
??????3.ListBox
??????4.
DropDownList
??????CheckBox,復選框,屬性 Checked 表示該復選框是否被選中,另外還提供一個 CheckBoxList 作為一個集合控件方便操作;
??????RadioButton,單選框,屬性 Checked 表示該單選框是否被選中,通過設定多個 RadioButton 屬性 GroupName 為相同值,可以很方便的將多個控件組合成一個Group,另外還提供一個集合控件 RadioButtonList
??????有很多控件都具有一個 AutoPostBack 屬性,該屬性表示是否響應服務器事件,如果為false則不會響應事件,而為true時一旦觸發事件就會向服務器提交,因此需要避免控件經常性的向服務端提交。
???容器
??????Panel,面板。通常用于在同一頁中實現切換(輪流顯示)。
???復雜控件
??????1.ADRotator,廣告控件。AdvertisementFile 屬性可以為控件指定一個XML配置文件,KeywordFilter 屬性能夠根據配置文件中各廣告的 key 進行篩選。
??????該廣告控件一次只能顯示一張圖片,只有當刷新頁面或重連時會選取其它的圖片,相同于ASP中用的那個隨機圖片
??????配置文件,一個<AD>標簽代表一個廣告。
XML配置文件
<
Advertisements
>
????
<
Ad
>
????????
<
ImageUrl
>
圖像文件的位置
</
ImageUrl
>
????????
<
NavigateUrl
>
單擊廣告后跳到的URL
</
NavigateUrl
>
????????
<
AlternateText
>
鼠標在圖像上顯示的文本
</
AlternateText
>
????????
<
Keyword
>
指定類別
</
Keyword
>
????????
<
Impressions
>
廣告出現的優先級,越大越優先
</
Impressions
>
????
</
Ad
>
</
Advertisements
>
??????2.Calendar,日歷控件。
???上傳控件
??????FileUpload,文件上傳。PostedFile 屬性表示已經上傳的文件對象,可以通過該對象的屬性及方法獲取上傳文件的各種屬性。FileName 屬性表示上傳文件的文件名(PostedFile對象也具有一個FileName屬性,但是表示的是上傳文件的全路徑名,需要手工提取文件名)。PostedFile.SaveAs(path) 方法可以將上傳的文件保存在服務端的指定路徑下,注意這里的 path 必須是一個絕對地址,因此使用時需要進行相對路徑-->絕對路徑的轉換,可以使用 Server.MapPath(path) 方法。
???驗證控件
??????1.RequiredFieldValidator,空值驗證;
??????2.CompareValidator,比較驗證。該控件有三種工作方式
?????????.值比較,ValueToCompare?屬性用于設定特征值,Type 指定特征值的類型,Operator 屬性指定比較運算符 (Value Operator Control.value);
?????????.類型檢驗,Type 指定類型,Operator 屬性使用 "DataTypeCheck";
?????????.控件比較,Type,Operator,ControlToValidate,ControlToCompare屬性即可。
??????3.RangeValidator,值域驗證;
??????4.RegularExpressionValidator,正則表達式驗證;
??????5.CustomValidator,自定義驗證。它支持客戶端及服務端自定義驗證,Server 端驗證時該控件提供一個ServerValidate事件,該事件的ServerValidateEventArgs對象類型參數的 Value 屬性表示該控件綁定的被驗證控件的 Value,IsValid 屬性表示是否通過驗證,只需在事件中根據自定義的規則設置 IsValid屬性即可;
??????6.ValidationSummary,列舉頁面中的全部驗證錯誤信息。用于將錯誤信息集中顯示。
??????在頁面中使用驗證控件時,除了第1種,2-4都不會對空值進行驗證,因此需要根據情況搭配使用。
??????缺省情況下,有些驗證需要在 server 端進行(如CustomValidator),流程會成為 先提交后驗證,這時在編程時就需要用到 Page.IsValid 屬性,只有當該屬性為true時才表示通過了全部的驗證。
??????對于IE的低版本來說,客戶端驗證會出現問題,此時可以強行指定全部使用服務端驗證<%@ page ClientTarget="DownLevel" %>
??????在頁面中常常包含大量的驗證控件,在使用時常常需要根據需要使一組驗證生效。此時驗證控件的 ValidationGroup 屬性就可以派上用場,該屬性可以對驗證控件進行分組,同時在使用時在能夠引起提交的控件上指定ValidationGroup屬性(該屬性同樣會影響到Page.IsValid的結果)。當然如果在頁面上使用了ValidationSummary控件的話,也需要指定該屬性,不然它不會顯示對應組控件的錯誤提示信息。