版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
4.1控件概述HTML服務(wù)器控件公開至服務(wù)器的HTML項,控件的對象模型與相對應(yīng)的HTML元素有非常密切的關(guān)系。Web服務(wù)器控件并不一一對應(yīng)至HTML元素,而是更抽象的控件。驗證控件用來檢測用戶輸入的數(shù)據(jù),避免無謂的服務(wù)器環(huán)回。用戶控件提供在多個網(wǎng)頁中重復(fù)使用設(shè)計好的接口一種方式。自定義服務(wù)器控件可以像拖曳其他Web標(biāo)準(zhǔn)控件那樣方便地使用它。4.2HTML服務(wù)器控件HTML標(biāo)記 HTML服務(wù)器控件HTML服務(wù)器控件主要特點:對象模式,服務(wù)器執(zhí)行后將其轉(zhuǎn)譯成HTML標(biāo)記及屬性,再發(fā)給瀏覽器擁有處理客戶端script的能力HTML標(biāo)記有在瀏覽器執(zhí)行的事件(如onclick)HTML服務(wù)器控件則還有在服務(wù)器執(zhí)行的事件(如onserverclick)HTML服務(wù)器控件支持viewstateHTML服務(wù)器控件與驗證控件整合應(yīng)用,達(dá)到驗證窗體數(shù)據(jù)的目的HTML服務(wù)器控件支持HTML4.01與CSS(層次樣式表)允許用戶自定義屬性<BodyRunat=”server”Id=”myBody”> </Body><FormRunat=”server”Id=”Form1”> </Form>Runat=“server”Id=“”System.Web.UI.HTMLControl名稱空間的結(jié)構(gòu)
HtmlContainerControl
HtmlImage
HtmlInputControl
HtmlAnchor
HtmlButton
HtmlForm
HtmlGenericControl
HtmlSelect
HtmlTable
HtmlTableRow
HtmlTableCell
HtmlTextArea
HtmlInputButton
HtmlInputCheckBox
HtmlInputFileHtmlInputHidden
HtmlInputImage
HtmlInputRadioButton
HtmlInputText
HtmlControlIddisabledVisibleTagNameInnerHtmlInnerTextTypeValueServerClickServerChangeHTML服務(wù)器控件與HTML標(biāo)記的對應(yīng)表示HTML服務(wù)器控件的應(yīng)用【例4.1】使用HTML服務(wù)器控件完成一個表單,實現(xiàn)簡單的用戶登錄和提交留言。服務(wù)器端編程獲取用戶所填寫的內(nèi)容并輸出。頁面設(shè)計:頁面中放置兩個文本框(User(ID值)用于輸入用戶名、Password用于輸入密碼),兩個多行文本框(messeage用于顯示登錄或留言信息、comment用于輸入留言信息),兩個按鈕(BtnLogin表示登錄單擊的“確定”、BtnOK表示發(fā)表留言的“提交”)。網(wǎng)頁界面如圖4.3所示。前臺文件example4-1.aspx實現(xiàn)表單的頁面部分,后臺文件example4-1.aspx.cs實現(xiàn)事件代碼處理部分。圖4.3example4-1的界面HTML服務(wù)器控件的應(yīng)用本例網(wǎng)頁example4-1.aspx頁面代碼。頁面后臺example4-1.aspx.cs文件的代碼。按鈕BtnLogin的單擊事件BtnLogin_ServerClick用于判斷用戶是否輸入正確的用戶名和密碼。如果正確登錄,則在多行文本框message中顯示“成功登錄系統(tǒng)”,否則顯示“用戶名或密碼錯誤”。按鈕BtnOK的服務(wù)器端單擊事件為BtnOK_ServerClick,用來接受多行文本框comment的信息,并顯示在message中。程序運行結(jié)果如圖4.4所示。
圖4.4例4.1運行結(jié)果4.3Web服務(wù)器控件以<Asp:>開頭,</Asp:>結(jié)尾擁有更多功能與特殊目的的控件,(如calendar、AdRotator)具有更豐富的對象,提供類型安全程序設(shè)計功能與瀏覽器無關(guān)部分控件可以通過使用模板自定義輸出結(jié)果(如Repeater、Datalist及GridView控件部分控件可以指定在數(shù)據(jù)或選取項改變時,將數(shù)據(jù)返回至服務(wù)器,無須等待瀏覽器執(zhí)行發(fā)送的操作,如DropDownList控件除了少數(shù)的HTML服務(wù)器控件外,可以完全代替HTML服務(wù)器控件。聲明舉例:<ASP:TextBox
Runat="Server"Id="myTextBox"> </ASP:TextBox><ASP:Button
Runat="Server"Id="myButton"Text="確定"> </ASP:Button>Web服務(wù)器控件的層次結(jié)構(gòu)Web服務(wù)器控件-標(biāo)準(zhǔn)控件基本控件Label、Literal、TextBoxButton、LinkButton、ImageButtonCheckBox、CheckBoxList,RadioButton、RadioButtonList,ListBox、DropDownListHyperLinkTable增強控件(多信息控件)Calendar,AdRotator,XML,MultiView、View,Image、ImageMap,Wizard
相關(guān)概念環(huán)回每項需要處理的動作必須由窗體傳送給服務(wù)器處理,然后再返回給瀏覽器。這一過程叫“環(huán)回(RoundTrip)”或“往返行程.重建網(wǎng)頁每一次環(huán)回都會使得網(wǎng)頁重新生成。網(wǎng)頁是無狀態(tài)的,即網(wǎng)頁變量與控件的數(shù)據(jù)值并不會保留在服務(wù)器上。內(nèi)部事件集服務(wù)器控件提供一組有限的內(nèi)部事件集,并且僅限于鼠標(biāo)按鍵類型的事件。不要觸發(fā)那些經(jīng)常會發(fā)生的事件(onmouseover)事件參數(shù)所有事件都會傳遞兩個參數(shù),第一個參數(shù)內(nèi)含與事件相關(guān)信息的事件對象(objectsender),第二個參數(shù)是事件類型相關(guān)的參數(shù)信息(EventArgse)回傳與非回傳事件發(fā)生在服務(wù)器控件中的變動事件會被捕捉,但是不會立即被提交。Web頁面請求及服務(wù)器響應(yīng)的過程4.3標(biāo)準(zhǔn)控件1.服務(wù)器控件的基本語法ASP.NET服務(wù)器控件的基本語法格式如下:<asp:控件類型名ID="控件id"屬性名1="屬性值1"屬性名2="屬性值2"…runat="server"/>下面的關(guān)于某個TextBox控件的兩種不同的寫法是等價的:<asp:TextBoxID="txtBookName"runat="server"Width="250px"Text="請輸入姓名:"/><asp:TextBoxID=“txtBookName”runat=“server”Width=“250px”>請輸入姓名:</asp:TextBox>2.服務(wù)器控件的屬性3.服務(wù)器控件的事件例:注冊表單4.3.1輸入與顯示控件1.TextBox控件TextBox控件是用得最多的控件之一,該控件顯示為文本框,可以用來顯示數(shù)據(jù)或者輸入數(shù)據(jù)。TextBox控件定義的語法示例如下:<asp:TextBoxID="TxtPwd"runat="server"TextMode="Password"/>屬性/事件/方法說明AutoPostBack指示在輸入信息時,數(shù)據(jù)是否實時自動回發(fā)到服務(wù)器AutoCompleteType記憶客戶端輸入的內(nèi)容類型(控制控件的自動完成功能)MaxLength文本框中最多允許的字符數(shù)ReadOnly指示能否更改
TextBox
控件的內(nèi)容Rows多行文本框中顯示的行數(shù)TextTextBox
控件的文本內(nèi)容TextModeTextBox
控件的行為模式(單行、多行或密碼)Wrap指示多行文本框內(nèi)的文本內(nèi)容是否換行TextChanged文本框的內(nèi)容改變時發(fā)生的事件Focus()使光標(biāo)置于文本框中的方法表4.5TextBox控件的常用屬性、事件和方法2.Label控件Label控件用于在Web頁面上顯示文本。其控件定義的語法示例如下:<asp:Labelid="Label1"Text="密碼提示回答:"runat="server"/>屬性說明runat規(guī)定該控件是一個服務(wù)器控件。必須設(shè)置為
"server"Text在
label中顯示的文本
AccessKey指定熱鍵的按鍵
AssociatedControlID將Label控件與窗體中另一個服務(wù)器控件關(guān)聯(lián)起來表4.6Label控件的常用屬性3.Literal控件Literal控件的工作方式類似于Label控件。用于在瀏覽器上顯示在整個過程中不發(fā)生變化的文本。其控件定義的語法示例如下:<asp:Literalid="Literal1"Text="新用戶注冊"runat="server"/>。屬
性說明Text規(guī)定要顯示的文本Mode指定控件對所添加的標(biāo)記的處理方式表4.7Literal控件的常用屬性4.3.2按鈕控件1.Button控件2.LinkButton控件3.ImageButton控件作用:提交頁面相關(guān)事件:(1)Page_load事件(2)Click事件。屬性/事件/方法說明Attributes獲取控件的屬性集合BackColor獲取或設(shè)置背景色BordorColor獲取或設(shè)置邊框顏色CommandArgument獲取或設(shè)置可選參數(shù),該參數(shù)與CommandName一起傳遞到Command事件CommandName獲取或設(shè)置命令名,該命令名與傳遞給Command事件的Button控件相關(guān)聯(lián)EnableViewState獲取或設(shè)置一個值,指示服務(wù)器控件是否保持自己及所包含子控件的狀態(tài)PostBackUrl獲取或設(shè)置單擊Button時從當(dāng)前頁發(fā)送到的網(wǎng)頁的URL。默認(rèn)為空,即本頁Text獲取或設(shè)置在Button控件中顯示的文本標(biāo)題Click在單擊Button控件時發(fā)生的服務(wù)器端事件OnClientClick在單擊Button控件時發(fā)生的客戶端事件Command在單擊Button控件時發(fā)生的服務(wù)器端事件表4.8Button控件的常用屬性、事件和方法4.3.3選擇和列表控件(webcontrol1)1.RadioButton控件【例4.2】頁面上的一組RadioButton控件可以定義如下:<asp:RadioButtonID="RadioButtonMale"runat="server"
GroupName="Group1"Text="男"AutoPostBack="True"/><asp:RadioButtonID="RadioButtonFemale"runat="server"
GroupName="Group1"Text="女"AutoPostBack="True"/>屬性/事件說明Checked布爾值,規(guī)定是否選定單選按鈕AutoPostBack布爾值,規(guī)定在
Checked屬性被改變后,是否立即回傳表單。默認(rèn)是
falseGroupName該單選按鈕所屬控件組的名稱OnCheckedChanged當(dāng)
Checked被改變時,被執(zhí)行的函數(shù)的名稱Text單選按鈕旁邊的文本TextAlign文本應(yīng)出現(xiàn)在單選按鈕的哪一側(cè)(左側(cè)還是右側(cè))表4.10RadioButton控件的常用屬性和事件2.RadioButtonList控件RadioButton控件優(yōu)于RadioButtonList控件的一個方面是,可以在RadioButton控件之間放置其他項(文本、控件或圖像)。雖然多個RadioButton控件也可以組成單選按鈕組以實現(xiàn)互斥選擇,但有多個選項供用戶進行選擇時,使用RadioButtonList控件更加方便。RadioButtonList控件定義示例如下,
<asp:RadioButtonListid="RadioButtonList1"runat="server"AutoPostBack="True"> <asp:ListItemValue="0">男</asp:ListItem> <asp:ListItemValue="1">女</asp:ListItem> <asp:ListItemValue="2">保密</asp:ListItem></asp:RadioButtonList>屬性/事件說明AutoPostBack指示當(dāng)用戶改變選項時該控件是否自動地回發(fā)到服務(wù)器DataMemberDataSource中要綁定的表名DataSource填充該列表的列表項的數(shù)據(jù)源DataSourceID提供數(shù)據(jù)的數(shù)據(jù)源組件的IDDataTextField提供列表項的文本的數(shù)據(jù)源字段的名稱DataTextFormatString用來控制列表項的顯示方式的格式化字符串DataValueField提供一個列表項的值的數(shù)據(jù)源字段的名稱Items獲得列表控件中的項目集合RepeatColumns獲得或設(shè)置控件中要顯示的列數(shù)RepeatDirection獲得或設(shè)置一個指示該控件垂直顯示還是水平顯示的值RepeatLayout獲得或設(shè)置單選按鈕(表或流)的布局SelectedIndex獲得或設(shè)置列表中第一個被選項的索引即索引最小的項SelectedItem獲得第一個被選項SelectedValue獲得第一個被選項的值TextAlign獲得或設(shè)置單選按鈕的文本對齊方式SelectedIndexChanged當(dāng)在RadioButtonList中改變選擇時觸發(fā)的事件表4.11RadioButtonList控件的常用屬性和事件RadioButtonList控件的Items集合的成員和列表中的每一項對應(yīng),要確定選中了哪些項,應(yīng)測試每項的Selected屬性。ListItem的基本屬性如表4.12所示。屬性/事件說
明Text每個選項的文本Value每個選項的值Selected選項的狀態(tài),Ture表示默認(rèn)選中表4.12ListItem的基本屬性3.CheckBox控件CheckBox控件定義示例如下:<asp:CheckBoxID="CheckBox1"runat="server"Text="我已閱讀并同意遵守網(wǎng)站服務(wù)條款"/>屬性/事件說明Checked布爾值,規(guī)定是否選定單選按鈕AutoPostBack布爾值,規(guī)定在
Checked屬性被改變后,是否立即回傳表單。默認(rèn)是
falseOnCheckedChanged當(dāng)
Checked被改變時,被執(zhí)行的函數(shù)的名稱TextCheckBox控件旁邊的文本TextAlign文本應(yīng)出現(xiàn)在CheckBox的哪一側(cè)(左側(cè)還是右側(cè))4.CheckBoxList控件【例4.3】CheckBoxList控件定義如下:<asp:CheckBoxListid="CheckBoxList1"runat="server"> <asp:ListItemValue="琴">琴</asp:ListItem> <asp:ListItemValue="棋">棋</asp:ListItem> <asp:ListItemValue="書">書</asp:ListItem> <asp:ListItemValue="畫">畫</asp:ListItem></asp:CheckBoxList>CheckBoxList控件的SelectedIndexChanged事件。5.DropDownList控件【例4.4】DropDownList控件在Web頁面上呈現(xiàn)為下拉列表框,它允許用戶從預(yù)定義的多個選項中選擇一項。在選擇前,用戶只能看到第一個選項,其余的選項都“隱藏”起來。通過設(shè)置該控件的高度和寬度(以像素為單位),可以設(shè)定控件的大小,但是不能控制該列表拉下時顯示的項目數(shù)。DropDownList控件定義示例如下:您的學(xué)歷:<asp:DropDownListid="DropDownList1"runat="server"> <asp:ListItemValue="0">博士</asp:ListItem> <asp:ListItemValue="1">碩士</asp:ListItem> <asp:ListItemValue="2">本科</asp:ListItem></asp:DropDownList>屬性/事件說明AutoPostBack指示當(dāng)用戶改變選項時該控件是否應(yīng)當(dāng)自動地回發(fā)到服務(wù)器DataMemberDataSource中要綁定的表的名稱DataSource填充該列表的項目的數(shù)據(jù)源DataSourceID提供數(shù)據(jù)的數(shù)據(jù)源組件的IDDataTextField提供列表的文本的數(shù)據(jù)源字段的名稱DataTextFormatString用來控制列表項的顯示方式的格式化字符串DataValueField提供一個列表項的值的數(shù)據(jù)源字段的名稱Items獲得列表控件中的項目集合SelectedIndex獲得或設(shè)置列表中被選項的索引SelectedItem獲得列表中的被選項SelectedValue獲得列表中被選項的值SelectedIndexChanged當(dāng)列表控件的選擇項發(fā)生變化時觸發(fā)表4.14DropDownList控件的常用屬性和事件6.ListBox控件【例4.5】ListBox控件定義示例如下:身份:<asp:ListBoxID="ListBox1"runat="server"> <asp:ListItemValue="0">已工作</asp:ListItem> <asp:ListItemValue="1">大學(xué)生</asp:ListItem><asp:ListItemValue="2">中學(xué)生/中專技校</asp:ListItem><asp:ListItemValue="3">以上都不是</asp:ListItem></asp:ListBox>ListBox控件的SelectedIndexChanged事件。7.BulletedList控件以下是一個BulletedList控件的定義示例:<div>
<asp:BulletedListID="BulletedList1"BulletStyle="Circle"runat="server"> <asp:ListItem>第一項</asp:ListItem> <asp:ListItem>第二項</asp:ListItem> <asp:ListItemText="第三項"></asp:ListItem> <asp:ListItemText="第四項"Value="4"></asp:ListItem> </asp:BulletedList></div>屬
性說
明BulletImageUrl獲得或設(shè)置到用做項目符號的圖像的路徑BulletStyle確定項目符號的樣式DataMemberDataSource中要綁定的表的名稱DataSource用來填充該列表控件的列表項的數(shù)據(jù)源DataSourceID提供數(shù)據(jù)的數(shù)據(jù)源組件的IDDataTextField提供列表項的文本的數(shù)據(jù)源字段的名稱DataTextFormatString用來控制列表項顯示樣式的格式化字符串DataValueField提供列表項的值的數(shù)據(jù)源字段的名稱DisplayMode確定如何顯示列表項:純文本、鏈接按鈕或超鏈接FirstBulletNumber獲得或設(shè)置編號的起始值Items獲得列表控件中的列表項的集合Target指示超鏈接模式下的目標(biāo)框架表4.15BulletedList控件的屬性枚舉值說明Circle表示項目符號編號樣式設(shè)置為“○”空圈CustomImage編號樣式設(shè)置為自定義圖片,圖片由BulletImageUrl屬性指定Disc編號樣式設(shè)置為“●”實圈LowerAlpha編號樣式設(shè)置為小寫字母格式,如a、b、c、d等LowerRoman編號樣式設(shè)置為小寫羅馬數(shù)字格式,如i、ii、iii、iv等NotSet表示不設(shè)置項目符號編號樣式Numbered編號樣式為數(shù)字格式,如1、2、3、4等Square編號樣式為“■”實體黑方塊UpperAlpha編號樣式為大寫字母格式,如A、B、C、D等UpperRoman編號樣式為大寫羅馬數(shù)字格式,如I、II、III、IV等表4.16BulletStyle枚舉值列表4.3.4HyperLink控件HyperLink服務(wù)器控件在Web頁上創(chuàng)建超級鏈接,使用戶可以在應(yīng)用程序中的頁之間移動跳轉(zhuǎn)到其他頁面,相當(dāng)于HTML中的<ahref>元素。HyperLink控件定義的語法格式如下:<asp:HyperLinkID="HyperLink1"runat="server">網(wǎng)站服務(wù)條款</asp:HyperLink>此行代碼定義一個超級鏈接
。表4.17列出了HyperLink控件的常用屬性。屬
性說明ImageUrl
顯示此鏈接的圖像的
URLNavigateUrl
該鏈接的目標(biāo)
URL,當(dāng)用戶單擊鏈接時會轉(zhuǎn)向此URLTargetURLURL的目標(biāo)框架,默認(rèn)為本框架,_blank表示新窗口Text顯示該鏈接的文本表4.17HyperLink控件的常用屬性4.3.5Table控件<asp:Tableid="Table1"runat="server"> <asp:TableRow> <asp:TableCell></asp:TableCell> <asp:TableCell></asp:TableCell> </asp:TableRow></asp:Table>對
象成
員功
能TableBackImageUrlCaptionCaptionAlignCellPaddingCellSpacingRows表格的背景圖像的
URL表格的標(biāo)題標(biāo)題文本的對齊方式Table中單元格內(nèi)容和單元格邊框之間的空間量(單位:像素)Table控件中相鄰單元格之間的空間量(以像素為單位)Table控件中行的集合TableRowHorizontalAlighVerticalAlighCells獲取或設(shè)置行內(nèi)容的水平對齊方式獲取或設(shè)置行內(nèi)容的垂直對齊方式獲取TableCell對象的集合,這些對象表示Table控件中的行的單元格TableCellColumnSpanRowSpanText獲取或設(shè)置該單元格在Table跨越的列數(shù)獲取或設(shè)置Table控件中單元格跨越的行數(shù)獲取或設(shè)置單元格的文本內(nèi)容動態(tài)地創(chuàng)建一個Table包含三個步驟:【例4.6】(1)創(chuàng)建TableRow對象以表示表中的行。(2)創(chuàng)建TableCell對象,表示行中的單元格,并將單元格添加到行中。(3)將TableRow添加到Table控件的Rows集合中。聲明語法:<Asp:AdRotator
Runat=”server”Id=“…”AdvertisementFile=“…”Target=“…”O(jiān)nAdCreated=“…”/>AdvertisementFile:獲取或設(shè)置包含廣告信息的XML廣告調(diào)度文件的相對或絕對地址Target:廣告所鏈接的網(wǎng)頁在哪個框架或窗口打開_self/_blank/_parent/_topOnAdCreated:在AdRotator控件創(chuàng)建后,網(wǎng)頁提交前會觸發(fā)此事件,其參數(shù)為AdCreatedEventArgsAdCreatedEventArgs的屬性AdProperties:目前顯示的廣告的相關(guān)信息AlternateText:顯示廣告的替換文本ImageUrl:目前廣告的圖片源地址NavigateUrl:會把用戶定向到哪個網(wǎng)址Impressions:廣告的重要等級KeyWords:廣告的類4.3.6AdRotator控件可擴展標(biāo)記語言XML可擴展標(biāo)記語言XML(eXtensibleMarkupLanguage)是W3C組織于1998年2月發(fā)布的標(biāo)準(zhǔn)XML專門用來描述文本的結(jié)構(gòu),而不是用來描述如何顯示文本;XML沒有一套固定的標(biāo)記;XML區(qū)分大小寫;XML文檔分層嵌套形成一棵標(biāo)記樹,只有根標(biāo)記,每個元素由一個開始標(biāo)記和一個結(jié)束標(biāo)記組成,所有屬性必須用引號表示。標(biāo)簽說明Advertisements包含整個廣告文件Ad描述每一個單獨的廣告ImageUrl要顯示的圖像的URL。必需NavigateUrl單擊該控件時定位到的URLAlternateText圖像不可用時要顯示的文本。在某些瀏覽器中,該文本顯示為工具提示Keyword廣告類別。該關(guān)鍵字可用于通過設(shè)置KeywordFilter屬性過濾要顯示的廣告Impressions一個值,指示相對于XML文件中的其他廣告,該廣告顯示的頻率表4.21在廣告文件中使用的XML標(biāo)簽下面是一個XML廣告文件ad.xml的例子:【例4.7】<?xmlversion="1.0"encoding="utf-8"?><Advertisements><Ad><ImageUrl>~/image/phei.png</ImageUrl><NavigateUrl>http:///</NavigateUrl><AlternateText>電子工業(yè)出版社</AlternateText><Keyword>門戶</Keyword><Impressions>20</Impressions></Ad><Ad><ImageUrl>~/image/sohu.gif</ImageUrl><NavigateUrl>http://</NavigateUrl><AlternateText>搜狐</AlternateText><Keyword>門戶</Keyword><Impressions>80</Impressions></Ad><Ad><ImageUrl>~/image/njnu.jpg</ImageUrl><NavigateUrl>http://</NavigateUrl><AlternateText>南京師范大學(xué)</AlternateText><Keyword>大學(xué)</Keyword><Impressions>50</Impressions></Ad></Advertisements><asp:AdRotatorID="AdRotator1"runat="server"
AdvertisementFile="~/App_Data/ad.xml"/>4.3.7Calendar控件主要功能:(1)顯示一個日歷,該日歷會顯示一個月份。(2)允許用戶選擇日期、周、月。(3)允許用戶選擇一定范圍內(nèi)的日期。(4)允許用戶移到下一月或上一月。(5)以編程方式控件選定日期的顯示。Calendar控件的最簡單形式如下:<asp:Calendarid="Calendar1"
runat="server"></asp:Calendar>圖4.15Calendar控件1.在Calendar控件中選擇日期【例4.8】Calendar控件有4種日期獲取模式,用戶可以選擇一天、一周或一個月。通過設(shè)置控件的SelectionMode屬性來實現(xiàn)。模
式說明Day允許用戶選擇單個日期。這是默認(rèn)值DayWeek允許用戶選擇單個日期或整周DayWeekMonth允許用戶選擇單個日期、周或整個月None不能選擇日期表4.23Calendar控件的SelectionMode屬性2.控制Calendar控件的外觀許多TableItemStyle類型的屬性用于控制日歷每個部分的樣式。名稱所設(shè)置樣式的對象DayHeaderStyle一周中某天DayStyle日期NextPrevStyle月份導(dǎo)航控件OtherMonthDayStyle不在當(dāng)前顯示月份中的日期SelectedDayStyle選中日期SelectorStyle周和月選擇器列TitleStyle標(biāo)題欄TodayDayStyle今天的日期WeekendDayStyle周末日期表4.24Calendar中TableItemStyle類型的屬性除TableItemStyle類型的屬性,還有幾個可讀寫的Boolean類型屬性,它們也用于控制日歷的外觀,屬性默認(rèn)值控制其可見性的對象ShowDayHeadertrue一周中每一天的名稱ShowGridLinesfalse月份中日期的網(wǎng)格線ShowNextPrevMonthtrue月份導(dǎo)航控件ShowTitletrue標(biāo)題欄表4.25Boolean類型的屬性<asp:CalendarID="Calendar1"runat="server“SelectionMode="DayWeekMonth"><SelectedDayStyle
BackColor="#339966"/><DayStyle
BackColor="Aqua"
BorderColor="Lime"BorderWidth="1px"/><NextPrevStyle
BackColor="#009999"/><TitleStyle
BackColor="#66CCFF"/></asp:Calendar>Calendar控件示例ToDayDayStyleSelectedDayStyleWeekendDayStyleDayStyleOtherMonthDayStyleTitleStyleNextPrevStyleSelectMonthText屬性SelectWeekText屬性DayHeaderStyle3.Calendar控件編程【例4.9】(1)SelectionChanged事件。當(dāng)用戶在Calender控件中選擇一天、一周或整個月份時,將觸發(fā)SelectionChanged事件。以編程方式選擇時,并不觸發(fā)該事件。該事件處理程序傳遞一個EventArgs類型參數(shù)。前面在例4.9中,已經(jīng)給出此事件的示例。(2)DayRender事件。Calendar控件不直接支持日期綁定,但可以修改單個日期單元格的內(nèi)容和格式。這樣可從數(shù)據(jù)庫中獲取數(shù)據(jù),以便進行一些處理后把它們置于指定的單元格中。在Calendar控件呈現(xiàn)到客戶端瀏覽器之前,將組成創(chuàng)建該控件的所有組件。隨著創(chuàng)建每個單元格,將引發(fā)DayRender事件??梢圆东@該事件。DayRender事件處理程序接收兩個DayRenderEventArgs類型的參數(shù)。該對象有兩個屬性,它們可以用編程方式讀取。Cell:表示要呈現(xiàn)的單元格的表格單元格對象。Day:表示呈現(xiàn)在單元格中日期的CalendarDay對象。(3)VisibleMonthChanged事件。Calendar控件還提供了一個事件VisibleMonthChanged以確定用戶是否更改了月份。圖4.18在Calendar控件中自定義特別日4.3.8Image和ImageMap控件1.Image控件圖像服務(wù)器控件Image可以在Web窗體頁上顯示圖像,并用服務(wù)器端的代碼管理這些圖像。Image控件定義格式如下: <asp:ImageID="Image1"runat="server"/>Image控件有下列常見屬性:(1)AlternateText:為圖像提供替代文本(輔助功能要求)。(2)DescriptionUrl:用于提供指向包含該圖像詳細(xì)描述的頁面的鏈接(復(fù)雜的圖像要求可訪問)。(3)GenerateEmptyAlternateText:為AlternateText屬性設(shè)空字符串值。(4)ImageAlign:用于將圖像和頁面中其他HTML元素對齊??赡艿闹涤蠥bsBottom、AbsMiddle、Baseline、Bottom、Left、Middle、NotSet、Right、TextTop和Top。(5)ImageUrl:用于指定圖片的URL。2.ImageMap控件ImageMap控件定義格式如下:<asp:ImageMapid="ImageMap1"runat="server"ImageUrl="~/image1.jpg”></asp:ImageMap>ImageMap控件的主要屬性包括如下。(1)HotSpotMode:熱點模式,取值為枚舉System.Web.UI.WebControls.HotSpotMode,值如表4.26所示。枚舉值說
明NotSet未設(shè)置。雖然名為未設(shè)置,但默認(rèn)情況下會執(zhí)行定向操作,定向到指定的URL地址。如果未指定URL地址,將定向到Web應(yīng)用程序根目錄Navigate定向操作。定向到指定的URL地址。如果未指定URL地址,默認(rèn)將定向到Web應(yīng)用程序根目錄PostBack回發(fā)操作。單擊熱點區(qū)域后,將執(zhí)行Click事件Inactive無任何操作,即此時ImageMap如同一張沒有熱點區(qū)域的普通圖片表4.26HotSpotMode枚舉值【例4.10】(2)HotSpots:該屬性對應(yīng)System.Web.UI.WebControls.HotSpot對象集合。HotSpot類是一個抽象類,有CircleHotSpot(圓形熱區(qū))、RectangleHotSpot(方形熱區(qū))、PolygonHotSpot(多邊形熱區(qū))3個子類。實際應(yīng)用中,可以使用上面3種類型來定制圖片的熱點區(qū)域的形狀。(3)AccessKey:用于指定導(dǎo)向ImageMap控件的鍵。(4)AlternateText:為圖像提供替代文本(輔助功能要求)。(5)DescriptionUrl:用于提供指向一個頁面的鏈接,該頁面包含對該圖像的詳細(xì)描述(復(fù)雜的圖像要求能被理解)。(6)GenerateEmptyAlternateText:為AlternateText屬性設(shè)空字符串值。(7)ImageAlign:用于和頁面中其他HTML元素對齊??赡艿闹涤蠥bsBottom、AbsMiddle、Baseline、Bottom、Left、Middle、NotSet、Right、TextTop和Top。(8)ImageUrl:用于指定圖像的URL。(9)TabIndex:設(shè)置ImageMap控件的Tab順序。(10)Target:用于在新窗口中打開頁面。ImageMap控件支持Click事件,在用戶對熱點區(qū)域單擊時觸發(fā),通常在HotSpotMode為PostBack時用到。4.3.9MultiView和View控件【例4.11】
View控件是視圖控件,MultiView控件是多視圖控件,兩者都屬于容器控件,View控件是一個Web控件的容器,而MultiView控件又是View控件的容器,因此兩者一般一起搭配運作。在MultiView控件中可以拖曳多個View控件,而View控件內(nèi)包含了任何需要顯示在頁面中的內(nèi)容,存放一般ASP.NET服務(wù)器控件的,如Image、TextBox等。雖然MultiView中可包含多個View控件,但頁面一次只能顯示一個視圖,因此也只有一個View控件區(qū)域會被顯示。MultiView通過ActiveViewIndex屬性值來決定哪個View要被顯示,程序也是利用ActiveViewIndex屬性設(shè)置來切換不同的ViewView和MultiView控件格式如下:<asp:MultiViewID="MultiView1"runat="server"><asp:ViewID="View1"runat="server"></asp:View> <asp:ViewID="View2"runat="server"> </asp:View></asp:MultiView>View和MultiView控件繼承自System.Web.UI.Control類。MultiView控件有一個類型為ViewCollection的只讀屬性View。使用該屬性可獲得包含在MultiView中的View對象集合。與所有的.NET集合一樣,該集合中的元素被編入索引。MultiView控件包含ActiveViewIndex屬性,該屬性可獲取或設(shè)置以0開始的,當(dāng)前活動視圖的索引。表4.27列出了MultiView控件的4個CommandName字段。為按鈕的CommandName屬性賦值,能夠?qū)崿F(xiàn)視圖導(dǎo)航。例如,將Button、ImageButton或LinkButton控件的CommandName屬性設(shè)置為NextView,單擊這些按鈕后將自動導(dǎo)航到下一個視圖,而不需要額外的代碼。開發(fā)者不需要為按鈕編寫單擊事件處理程序。字
段默認(rèn)命令名說明NextViewCommandNameNextView導(dǎo)航到下一個具有更高ActiveViewIndex值的視圖。如果當(dāng)前位于最后的視圖,則設(shè)置Active-ViewIndex為-1,不顯示任何視圖PreviousViewCommandNamePrevView導(dǎo)航到低于ActiveVie-wIndex值的視圖。如果當(dāng)前位于第一個視圖,則設(shè)置ActiveViewIndex為-1,不顯示任何視圖SwitchViewByIDCommandNameSwitchViewByID導(dǎo)航到指定ID的視圖,可以使用CommandArgument指定ID值SwitchViewByIndexCommandNameSwitchViewByIndex導(dǎo)航到指定索引的視圖,使用CommandArgument屬性指定索引表4.27MultiView控件的CommandName字段4.3.10Wizard控件【例4.12】(1)收集多個步驟中的相關(guān)信息。(2)用于收集用戶輸入的大型Web網(wǎng)頁可分割成較小的邏輯步驟。(3)允許線性或非線性地導(dǎo)航各個步驟。Wizard控件可以提供良好的流程導(dǎo)航與步驟指引,讓用戶很明確地知道有哪些步驟,并可建立程序化邏輯來處理或控制比較復(fù)雜的步驟。Wizard控件可區(qū)分成4大區(qū)域。(1)向?qū)Р襟E(WizardStep)區(qū)域:Wizard控件使用多個步驟來描繪用戶輸入的不同部分。每個步驟的內(nèi)容添加在標(biāo)記<asp:WizardStep>中,所有的<asp:WizardStep>又都包含在<WizardSteps>標(biāo)記中。實際應(yīng)用時,每次只能顯示一個<asp:WizardStep>定義的內(nèi)容。(2)標(biāo)題(Header)區(qū)域:用于在步驟頂部提供一致的信息,此項是可選元素。(3)側(cè)欄(SideBar)區(qū)域:此項也是可選元素,通常顯示在向?qū)ё筮?,包含所有步驟的列表,并提供在各個步驟間的跳轉(zhuǎn)。(4)導(dǎo)航按鈕(Navigation)區(qū)域:是Wizard內(nèi)置導(dǎo)航功能,它會根據(jù)步驟類型(StepType)設(shè)置值的不同,而呈現(xiàn)不同的導(dǎo)航按鈕。每個WizardStep步驟都會有個StepType屬性,它最主要的作用是決定每個步驟中的導(dǎo)航Button按鈕會如何被顯示,StepType的類型說明如表4.28所示。StepType類型說
明Start(開始步驟)這是第一個開始步驟,只會呈現(xiàn)【下一步】按鈕Step(階段步驟)在Start及Finish之間的步驟全部歸類為Step,Step會同時呈現(xiàn)【上一步】及【下一步】按鈕Finish(完成步驟)這是最后的數(shù)據(jù)收集步驟,會呈現(xiàn)【完成】及【上一步】按鈕,但若前一個步驟的AllowReturn設(shè)置為False,則不顯示【上一步】按鈕Complete(結(jié)束步驟)這是Wizard的最后一個步驟畫面,完全不會呈現(xiàn)任何按鈕,甚至連SideBar區(qū)域也會消失;若就英文字面很難區(qū)分Complete和Finish兩者的差別,但就實質(zhì)而言,Complete較貼近最后的結(jié)束Auto(自動)系統(tǒng)會依該步驟的順序決定其為何種StepType類型表4.28StepType類型Wizard控件的所有外觀特征幾乎都可以通過樣式和模板來自定義,包括各種各樣的按鈕和鏈接、標(biāo)題和頁腳、工具條和WizardStep。Wizard向?qū)Э丶С值臉邮饺绫?.29所示。樣式(Style)說
明CancelButtonStyle設(shè)置【取消】按鈕的樣式FinishCompleteButtonStyle設(shè)置【完成】按鈕的樣式FinishPreviousButtonStyle設(shè)置Finish步驟中的【上一步】按鈕的樣式HeaderStyle設(shè)置表頭樣式NavigationButtonStyle設(shè)置導(dǎo)航區(qū)域中所有按鈕的樣式NavigateStyle設(shè)置導(dǎo)航區(qū)域樣式SideBarStyle設(shè)置SideBar區(qū)域樣式StartNextButtonStyle設(shè)置Start步驟中的【下一步】按鈕的樣式StepNextButtonStyle設(shè)置Step步驟中的【下一步】按鈕的樣式StepPreviousButtonStyle設(shè)置Step步驟中的【上一步】按鈕的樣式StepStyle設(shè)置WizardStep區(qū)域的樣式表4.29Wizard控件樣式設(shè)置表Wizard控件除了可調(diào)整樣式外,還可調(diào)整其外觀屬性,如果您想更進一步定制Wizard控件默認(rèn)的樣式或外觀等,可以通過其模板編輯功能來達(dá)成深入的定制,Wizard控件提供了5種模板編輯,如表4.30所示。模板類型(Template)說明HeaderTemplate編輯表頭模板SideBarTemplate編輯SideBar模板StartNavigationTemplate編輯開始步驟導(dǎo)航區(qū)域模板StepNavigationTemplate編輯階段Step步驟導(dǎo)航區(qū)域模板FinishNavigationTemplate編輯完成步驟導(dǎo)航區(qū)域模板表4.30Wizard控件模板類型Wizard控件的屬性非常多,表4.31列出了常用屬性。屬
性說明ActiveStepIndex通過索引值設(shè)置WizardSteps集合中哪個步驟項為ActiveCancelDestinationPageUrl設(shè)置當(dāng)用戶按下【取消】按鈕時會導(dǎo)向到的網(wǎng)頁URLDisplayCancelButton是否顯示【取消】按鈕,默認(rèn)不顯示(False)DisplaySideBar是否顯示SideBar區(qū)域,默認(rèn)為TrueEnableTheme是否套用ThemeFinishDestinationPageUrl設(shè)置當(dāng)用戶按下【完成】按鈕時會重新導(dǎo)向到的網(wǎng)頁URLSkinID取得或設(shè)置要套用至控件的面板ToolTip設(shè)置當(dāng)鼠標(biāo)指針停留在
Web服務(wù)器控件時顯示的文字表4.31Wizard控件的常用屬性Wizard支持的事件如表4.32所示。事件說明ActiveStepChanged當(dāng)用戶切換至控件中的新步驟時發(fā)生CancelButtonClick當(dāng)用戶單擊【取消】按鈕時發(fā)生FinishButtonClick當(dāng)用戶單擊【完成】按鈕時發(fā)生NextButtonClick當(dāng)用戶單擊【下一步】按鈕時發(fā)生PreviousButtonClick當(dāng)用戶單擊【上一步】按鈕時發(fā)生SideBarButtonClick當(dāng)用戶單擊SideBar區(qū)域中的項目時發(fā)生表4.32Wizard支持的事件Wizard控件包含3個特別有意思的方法,如表4.33所示。方法名稱返回類型說明GetHistoryICollection返回一個按被訪問的順序排列的WizardStepBase
對象的集合,索引0為最近訪問的步驟GetStepTypeWizardStepType步驟的類型,如表4-28所示MoveTovoid移動到參數(shù)中指定的WizardStep對象表4.33Wizard控件的方法4.4驗證控件
ASP.NET封裝了6個驗證控件,能處理常見的驗證情況,開發(fā)者使用這些驗證控件,無需編寫代碼即可輕松的在頁面上實現(xiàn)驗證功能。
客戶端驗證和服務(wù)端驗證對于驗證中的事件序列,有兩種情況:(1)若客戶端支持JScript且驗證控件的EnableClientScript=true,則在客戶端和服務(wù)器上執(zhí)行驗證。(2)如果上面兩個條件的任何一個不滿足,則只在服務(wù)器上執(zhí)行驗證。如果在客戶端上執(zhí)行驗證,則在被驗證的控件丟失焦點時進行驗證。(一般是在單擊Submit按鈕之前進行該操作)。如果驗證失敗,則不會發(fā)送任何內(nèi)容給服務(wù)器,但驗證控件將仍然通過使用JavaScript顯示關(guān)于失敗的文本消息。當(dāng)由服務(wù)器接收時,執(zhí)行另一個驗證。如果頁面通過驗證,則頁面繼續(xù)執(zhí)行它的其他任務(wù)。如果存在失敗,則將Page.IsValid設(shè)置為False,然后頁面執(zhí)行腳本,但如果程序員檢查Page.IsValid狀態(tài),則可以停止這些操作。頁面上的數(shù)據(jù)控件將不會執(zhí)行任何寫入任務(wù)。然后,使用驗證錯誤消息重新構(gòu)建頁面,并且以回送來響應(yīng)。比較安全的驗證形式是服務(wù)器端驗證。驗證總是在服務(wù)器上執(zhí)行,無論是否執(zhí)行客戶端驗證。這就防止了電子欺騙(黑客可借此偽造一個有效的服務(wù)器回送,從而繞開客戶端驗證)。添加客戶端選項可節(jié)省一些時間,因為如果在客戶端驗證中存在驗證失敗,則不需要建立來回的過程。驗證操作的基本概念驗證多個條件將多個驗證控件附加到頁面上的一個輸入控件,只有用戶輸入的數(shù)據(jù)通過所有驗證才視為有效。顯示驗證錯誤可以使用Page對象的IsValid屬性來判定所有驗證控件是否通過驗證測試錯誤信息可以直接就地顯示在頁面上(Text/ErrorMessage),也可以集中通過ValidationSummary控件顯示(ErrorMessage)。驗證控件的基本屬性ControlToValidate:要驗證的輸入控件的ID。Enabled:指示是否啟用驗證控件。IsValid:指示關(guān)聯(lián)的輸入控件是否通過驗證。ErrorMessage:要顯示于ValidationSummary控件中的信息。Text:驗證控件本身所顯示的錯誤信息Display:指定驗證控件中錯誤信息的顯示行為。None:驗證控件不會顯示在網(wǎng)頁上。Static:驗證控件的內(nèi)容總要占據(jù)頁面空間Dynamic:無錯誤時,驗證控件不會占用頁面空間SetFocusOnError:將頁面的焦點放置在產(chǎn)生錯誤的控件EnableClientScript:該屬性默認(rèn)為True,表示允許客戶端驗證。驗證控件的特殊屬性RequiredFieldValidator:務(wù)必輸入數(shù)據(jù)驗證InitalValue:初始值在用戶至少嘗試了一次提交表單或在表單字段中輸入、移除數(shù)據(jù)后才執(zhí)行客戶端驗證CompareValidator:匹配特定值或數(shù)據(jù)類型驗證ControlToCompare:要用來比較的控件IDValuetoCompare:要用來比較的值Operator:比較操作符Type:比較數(shù)據(jù)類型RangeValidator:數(shù)據(jù)范圍驗證MaximumControl:驗證范圍最大值的控件IDMinimumControl:驗證范圍最小值的控件IDMaximumValue:驗證范圍最大值MinimumValue:驗證范圍最小值Type:數(shù)據(jù)類型RegularExressionValidator:格式驗證ValidationExpression:輸入串要匹配的正則表達(dá)式比較操作符操作符說明DataTypeCheck類型比較,判斷是否與Type屬性指定的類型匹配Equal等于GreaterThan大于GreaterThanEqual大于等于LessThan小于LessThanEqual小于等于NotEqual不等于比較數(shù)據(jù)類型CurrencyDateIntegerDoubleString常用正則表達(dá)式字符及其說明[…]定義可接受的字符。如:[ABC123]^定義不可接受的字符。如:[^ABC123]\w匹配包括下劃線的任何單詞字符。等價于'[A-Za-z0-9_]'。\W匹配任何非單詞字符。等價于'[^A-Za-z0-9_]'。\s匹配任何空白字符,包括空格、制表符、換頁符等等。等價于[\f\n\r\t\v]。\S匹配任何非空白字符。等價于[^\f\n\r\t\v]。\d匹配一個數(shù)字字符。等價于[0-9]。\D匹配一個非數(shù)字字符。等價于[^0-9]。\將下一個字符標(biāo)記為一個特殊字符、或一個原義字符、或一個向后引用、或一個八進制轉(zhuǎn)義符。例如,'n'匹配字符"n"。'\n'匹配一個換行符。序列'\\'匹配"\"而"\("則匹配"("。常用正則表達(dá)式字符及其說明(續(xù))?匹配前面的表達(dá)式0或1次。相當(dāng)于{0,1}+匹配前面的子表達(dá)式一次或多次。例如,'zo+'能匹配"zo"以及"zoo",但不能匹配"z"。+等價于{1,}。*匹配前面的子表達(dá)式零次或多次。例如,zo*能匹配"z"以及"zoo"。*等價于{0,}。|匹配前面表達(dá)式或后面表達(dá)式。例如,'z|food'能匹配"z"或"food"。'(z|f)ood'則匹配"zood"或"food"。\b匹配一個單詞邊界,也就是指單詞和空格間的位置。例如,'er\b'可以匹配"never"中的'er',但不能匹配"verb"中的'er'。\B匹配非單詞邊界。'er\B'能匹配"verb"中的'er',但不能匹配"never"中的'er'。(…)用于分塊,與數(shù)學(xué)運算中的小括號相似。.代表任意字符。如.{3,6}表示在輸入控件中可以接受3到6個任意字符。{}定義必須輸入的字符個數(shù),如:{6}必須輸入6個字符,{6,15}6到15個包含6和15,{6,}至少輸入6個。[0-9]{4}CustomValidator控件【例4.13】
OnServerValidate——服務(wù)器端驗證事件所調(diào)用的自定義驗證函數(shù)名。Sender:產(chǎn)生事件的對象ServerValidateEventArgs:EventArgs類型的對象,含有兩個屬性(Value:要驗證的用戶輸入的值,IsValid:用于設(shè)置驗證的返回結(jié)果)
CustomValidator控件特殊的屬性ClientValidationFunction——為驗證所調(diào)用的客戶機端自定義腳本函數(shù)名Source:要驗證的控件名稱Argument:含有兩個屬性(Value:要驗證的用戶輸入的值,IsValid:用于設(shè)置驗證的返回結(jié)果)EnableClientScript:設(shè)置是否啟用客戶端驗證使用客戶端驗證的好處是能夠?qū)崟r反應(yīng)錯誤,其運作模式如下:當(dāng)用戶在控件中輸入數(shù)據(jù)并欲移往其它控件時,會立即調(diào)用用戶自定義函數(shù)來進行驗證當(dāng)用戶按下“提交”按紐嘗試將網(wǎng)頁傳送至服務(wù)器時,網(wǎng)頁上的所有驗證控件會執(zhí)行各自自定義的函數(shù)來進行驗證。4.4.7ValidationSummary控件【例4.14】ValidationSummary控件支持下列屬性。(1)DisplayMode:用于指定如何格式化錯誤信息。可能的值有BulletList、List和SingleParagraph。(2)HeaderText:用于在驗證摘要上方顯示標(biāo)題文本。(3)ShowMessageBox:用于顯示一個彈出警告對話框。(4)ShowSummary:用于隱藏頁面中的驗證摘要??梢詫Ⅱ炞C錯誤信息只顯示在ValidationSummary驗證總結(jié)控件中,而在其他的驗證控件位置不顯示出錯的文本消息。通過設(shè)置驗證控件的Display屬性為None值來實現(xiàn)這種隱藏。
ErrorMessage屬性和Text屬性。(1)如果有驗證失敗的情況,通常是在輸入控件丟失焦點時,Text值會出現(xiàn)在頁面上驗證控件所在的位置。(2)如果有驗證失敗的情況,一般是在單擊具有CausesValidation=true的Submit按鈕時,ErrorMessage值會出現(xiàn)在ValidationSummary控件中。ValidationSummary控件出現(xiàn)在頁面上的回送操作中,并且顯示一組錯誤消息,這些消息來自于IsValid=false的所有驗證控件。根據(jù)在DisplayMode中的設(shè)置,可以將這些錯誤消息安排為列表、段落或項目符號列表。此外,可以在消息框中顯示,通過ShowMessageBox=true/false設(shè)置。再次聲明,ValidationSummary控件自身實際上不執(zhí)行任何驗證;它沒有ControlToValidate屬性。4.4.8關(guān)閉客戶端驗證功能(1)編程方式protectedvoidPage_Load(objectsender,EventArgse){
foreach(BaseValidator
Bvinpage.Validators) { Bv.EnableClientScript=false; }}(2)設(shè)置驗證服務(wù)器控件的EnableClientScript屬性為False,從而阻止控件發(fā)送在客戶機上執(zhí)行驗證的JavaScript函數(shù),使驗證檢查在服務(wù)器上進行。該屬性默認(rèn)為True。此屬性的用法如下:<asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"ControlToValidate="TextBox1"Text="必填"EnableClientScript="false">4.4.9驗證組【例4.15】在頁面設(shè)計時有時希望同時驗證幾個控件,可以將頁面上的驗證控件歸為一組,創(chuàng)建一個驗證組,將在一組的所有控件的ValidationGroup屬性設(shè)置為同一個名稱(字符串)。在回發(fā)過程中,根據(jù)當(dāng)前驗證組中的驗證控件來設(shè)置Page類的IsValid屬性。4.5用戶控件與自定義服務(wù)器控件用戶控件也叫Pagelet,是封裝到可復(fù)用控件中的WEB窗體,可用于包含網(wǎng)站中許多頁面都需要的重復(fù)代碼塊創(chuàng)建簡單的Pagelet用戶控件是System.Web.UI.UserControl類型,它直接繼承自Sysgtem.Web.UI.Control。與一般的WebForm網(wǎng)頁相同,同樣擁有用戶界面網(wǎng)頁和代碼后置類文件,不同之處在于:用戶控件的擴展名為:.ascx,無法作為獨立的WebForm網(wǎng)頁來運行。用戶控件中沒有@Page指令,而是包含@Control指令,該指令對配置及其他屬性進行定義。用戶控件中沒有<HTML>、<BODY>、<FORM>標(biāo)簽。4.5.1用戶控件1、創(chuàng)建用戶控件【4-16】創(chuàng)建具有屬性和方法的Pagelet必須在用戶控件的代碼后置類文件中使用public語句,將屬性聲明為用戶控件的公用屬性。定義公用方法。在使用該控件的WebForm網(wǎng)頁的代碼后置類文件中可使用該控件的公用屬性和方法。在用戶控件中封裝事件
2、使用用戶控件使用“設(shè)計”視圖添加用戶控件使用HTML視圖添加用戶控件聲明Pagelet:<%@RegisterTagPrefix=”控件組集合名”TagName=”類名”Src=”文件名”%>添加用戶控件:<控件組集合名:類名id=”mycontrol”屬性1=“值1”屬性2=“值2”runat=”Server”/>使用程序控制方式添加用戶控件登陸PageLet:<%@ReferenceControl=“文件名%>創(chuàng)建實例:DimMyControlasUserControl=
loadControl(“文件名”)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源儲能設(shè)施建設(shè)與租賃合同4篇
- 2025年度新能源汽車充電樁電工安裝與運營合同4篇
- 2025年度數(shù)據(jù)中心建設(shè)承包技師服務(wù)協(xié)議3篇
- 2025年度油氣儲罐環(huán)保改造項目合同范本4篇
- 2024版聯(lián)合開發(fā)合同(新能源技術(shù))
- 2025年版產(chǎn)業(yè)園區(qū)招商引資代理服務(wù)合同6篇
- 2025年度快遞收派服務(wù)外包管理合同4篇
- 2025年度個人房地產(chǎn)投資融資委托服務(wù)協(xié)議4篇
- 2025年度行政效能監(jiān)察合作協(xié)議書2篇
- 2025年榆林神木精益化工有限公司招聘筆試參考題庫含答案解析
- 常見老年慢性病防治與護理課件整理
- 履約情況證明(共6篇)
- 云南省迪慶藏族自治州各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 設(shè)備機房出入登記表
- 六年級語文-文言文閱讀訓(xùn)練題50篇-含答案
- 醫(yī)用冰箱溫度登記表
- 零售學(xué)(第二版)第01章零售導(dǎo)論
- 大學(xué)植物生理學(xué)經(jīng)典05植物光合作用
- 口袋妖怪白金光圖文攻略2周目
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標(biāo)準(zhǔn)
- 三年級下冊生字組詞(帶拼音)
評論
0/150
提交評論