隨筆-7  評(píng)論-24  文章-102  trackbacks-0

          二、ASP.NET 服務(wù)器控件



          可以添加到 ASP.NET 頁(yè)面上的控件有三種類(lèi)型:
              ● HTML 服務(wù)器控件:也就是 HTML 標(biāo)簽,位于 System.Web.UI.HtmlControls 命名空間。
              ● Web 服務(wù)器控件:提供統(tǒng)一的編程模型、包含方法以及現(xiàn)關(guān)的時(shí)間處理程序,并且代碼都在服務(wù)器端執(zhí)行。位于 System.Web.UI.WebControls 命名空間中。
              ● 定制控件和用戶(hù)控件:由開(kāi)發(fā)人員定制的控件。

              我們添加的所有服務(wù)器控件都會(huì)自動(dòng)成為對(duì)象模型的一部分,該對(duì)象模型是在這段后置代碼中為窗體構(gòu)建的。基本上,Web 窗體上控件的狀態(tài)信息(包括文本框中的輸入數(shù)據(jù)、下拉列表中的選項(xiàng)等)存儲(chǔ)在隱藏的 viewstate 字段中,這個(gè)字段是服務(wù)器生成頁(yè)面的一部分,并傳送給用戶(hù)。在復(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è)用戶(hù)可以編輯的文本框,支持 AutoPostBack 屬性在修改文本內(nèi)容后自動(dòng)回送;支持 TextChanged 事件。

          Button:用戶(hù)單擊的標(biāo)準(zhǔn)按鈕。支持 Click 事件;支持 Command 事件訪(fǎng)問(wèn)接收的附加屬性 CommandName 和 CommandArgument。
             
          LinkButton:與 Button 相同,但把按鈕顯示為超鏈接。

          ImageButton:顯示一個(gè)圖像,其屬性和事件繼承了 Button 和 Image。

          HyperLink:添加一個(gè) HTML 超鏈接,NavigateUrl 屬性設(shè)置超鏈接;ImageUrl 屬性指定替換文本的圖片;Target 屬性指定打開(kāi)窗口方式。

          DropDownList:允許用戶(hù)選擇一個(gè)列表項(xiàng),使用屬性 Items 設(shè)置列表項(xiàng)目(一個(gè) ListItem 集合);SelectedItem 和 SelectedIndex 屬性確定選擇的內(nèi)容;支持 SelectedIndexChanged 事件可以用于確定選項(xiàng)是否改變;支持 AutoPostBack 屬性。

          ListBox:允許用戶(hù)選擇一個(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)建一組單選按鈕,其屬性與事件類(lèi)同于其他列表控件。

          Image:顯示一個(gè)圖像。使用 ImageUrl 進(jìn)行圖像索引,如果圖像加載失敗則顯示 AlternateText 對(duì)應(yīng)的文本。

          ImageMap:類(lèi)似于 Image,但支持 HotSpot 控件提供的熱區(qū)功能重定向到不同的頁(yè)面。

          Table:指定一個(gè)表,可設(shè)定 TableRow 和 TableCell,或者 TableRow 的集合類(lèi)屬性指定數(shù)據(jù)行。

          BulletedList:把一個(gè)選項(xiàng)列表格式化為一個(gè)項(xiàng)目符號(hào)列表,可以有不同的顯示格式,支持 Click 事件確定用戶(hù)回送的選項(xiàng);<ol>...</ul>,<ul>...</ul>。

          HiddenField:用于提供隱藏的字段,以存儲(chǔ)不同的值。這個(gè)控件可存儲(chǔ)需要另一種存儲(chǔ)機(jī)制才能發(fā)揮作用的設(shè)置。使用 Value 屬性訪(fǎng)問(wèn)存儲(chǔ)的值。

          Literal:執(zhí)行與 Label 相同的功能,但沒(méi)有樣式屬性,只有一個(gè) Text 屬性。

          Calendar:允許用戶(hù)從圖像日歷中選擇一個(gè)日期。基本功能是 SelectedDate 和 VisibleDate 屬性。

          AdRotator:廣告流轉(zhuǎn)板,順序顯示幾個(gè)圖像,使用 AdvertisementFile 屬性指定描述圖像的 XML 文件;支持 AdCreated 事件。

          FileUpload:提供用戶(hù)選擇并上傳文件,支持 HasFile 屬性,支持后臺(tái)代碼的 SaveAs() 方法執(zhí)行文件上傳。

          Wizard:用戶(hù)簡(jiǎn)化用戶(hù)在幾個(gè)頁(yè)面中輸入數(shù)據(jù)的常見(jiàn)任務(wù),可以給向?qū)砑佣鄠€(gè)步驟,按順序或不按順序顯示,并依賴(lài)此控件來(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:控件的容器,類(lèi)似于 PlaceHolder,但主要作用于 MulitView 的子控件,支持 Activate 和 Deactivate 事件檢測(cè)激活狀態(tài)的變化。



          Substitution:指定一組不與其他輸出一起高速緩存的 Web 頁(yè)面。

          Location:與 Literal 相同,但允許使用項(xiàng)目資源指定要在不同區(qū)域顯示的文本,使文本本地化。



          三、Data(數(shù)據(jù) Web 服務(wù)器控件)
            數(shù)據(jù) Web 服務(wù)器控件分為兩類(lèi):
              ● 數(shù)據(jù)源控件:實(shí)現(xiàn)從不同數(shù)據(jù)源獲取數(shù)據(jù)的功能,最好通過(guò)圖形化的向?qū)?lái)配置屬性。分為兩類(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:類(lèi)似于 DataList,但是不能選擇和編輯數(shù)據(jù)。

          RepeaterViewer:顯示報(bào)表服務(wù)數(shù)據(jù)的高級(jí)控件。



          四、Validation(驗(yàn)證 Web 服務(wù)器控件)
              驗(yàn)證控件可以在不編寫(xiě)代碼的前提下驗(yàn)證用戶(hù)輸入,還可以自動(dòng)給用戶(hù)輸出有幫助的提示,甚至還可以生成客戶(hù)端的 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ù)是否滿(mǎn)足簡(jiǎn)單的要求。利用一個(gè)運(yùn)算集合,通過(guò) Operator 和 ValueToCompare 屬性進(jìn)行驗(yàn)證。Operator 設(shè)置比較運(yùn)算符 >、<、= ; ValueToCompare 用于比較的值;還有 Type 用于設(shè)置比較的類(lèi)型;最后還是對(duì)另一控件進(jìn)行比較 ControlToCompare 屬性。

          RangeValidator:驗(yàn)證輸入數(shù)據(jù) MaximumValue 和 MinimumValue 間的范圍,Type 指定其驗(yàn)證的數(shù)據(jù)類(lèi)型。

          RegularExpressionValidator:根據(jù)存儲(chǔ)在 ValidationExpression 中的正則表達(dá)式驗(yàn)證字段的內(nèi)容。

          CustomValidator:使用定制函數(shù)驗(yàn)證控件的數(shù)據(jù),自定義驗(yàn)證。ClientValidationFunction 用戶(hù)設(shè)置客戶(hù)端驗(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ì)話(huà)框顯示信息。


          五、Navigation (導(dǎo)航 Web 服務(wù)器控件)

          SiteMapPath:顯示路徑樣式的信息,允許用戶(hù)產(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)前用戶(hù)允許查看的節(jié)點(diǎn)提供數(shù)據(jù),這種可見(jiàn)性是由用戶(hù)的角色成員決定的。























          posted on 2008-11-06 20:34 黃小二 閱讀(457) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): ASP.NET
          主站蜘蛛池模板: 聂荣县| 瑞金市| 依兰县| 依安县| 乌鲁木齐县| 灌云县| 临高县| 济宁市| 阜阳市| 威信县| 科尔| 图片| 桐柏县| 永清县| 阿拉善右旗| 红河县| 彭阳县| 七台河市| 绥江县| 来凤县| 汨罗市| 涟源市| 寿光市| 繁峙县| 澄江县| 苍梧县| 明水县| 原平市| 洛扎县| 明光市| 蒙自县| 永善县| 泰来县| 彩票| 上林县| 静海县| 太和县| 宁南县| 镇安县| 四子王旗| 义马市|