電子商務(wù)網(wǎng)站設(shè)計(jì):ASP.NET服務(wù)器控件_第1頁(yè)
電子商務(wù)網(wǎng)站設(shè)計(jì):ASP.NET服務(wù)器控件_第2頁(yè)
電子商務(wù)網(wǎng)站設(shè)計(jì):ASP.NET服務(wù)器控件_第3頁(yè)
電子商務(wù)網(wǎng)站設(shè)計(jì):ASP.NET服務(wù)器控件_第4頁(yè)
電子商務(wù)網(wǎng)站設(shè)計(jì):ASP.NET服務(wù)器控件_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ASP.NET服務(wù)器控件本章內(nèi)容掌握如何向網(wǎng)頁(yè)添加ASP.NET服務(wù)器控件如何配置控件的屬性、行為和外觀如何以編程方式使用這些控件。ASP.NET服務(wù)器控件HTML服務(wù)器控件ASP.NET服務(wù)器控件Web服務(wù)器控件HTML服務(wù)器控件是由System.Web.UI.HtmlControls類實(shí)現(xiàn)的,它其實(shí)就是HTML標(biāo)記的可編程版本任何HTML標(biāo)記都可以通過(guò)添加屬性runat=“server”來(lái)轉(zhuǎn)換為HTML服務(wù)器控件。Web服務(wù)器控件Web服務(wù)器控件是由System.Web.UI.WebControls類實(shí)現(xiàn)的,它并不和HTML標(biāo)記一一對(duì)應(yīng)。Web服務(wù)器控件比HTML服務(wù)器控件具有更多的內(nèi)置功能。按照功能區(qū)分,Web服務(wù)器控件還可以分為標(biāo)準(zhǔn)控件、數(shù)據(jù)控件、驗(yàn)證控件、導(dǎo)航控件、登陸控件、Web部件控件以及其他輔助安裝的自定義控件等。在頁(yè)面中添加HTML服務(wù)器控件給HTML標(biāo)記添加runat=“server”屬性,該標(biāo)記就變成了HTML服務(wù)器控件。比較如下的代碼:<inputid="Button1"type="button"value="button"/>添加服務(wù)器端屬性之后的代碼如下所示:<inputid="Button1"type="button"value="button"runat="server"/>可以看到,只是在該控件中添加了一個(gè)runat=“server”的屬性。如何添加Web服務(wù)器控件通過(guò)工具箱選擇待添加的控件,然后直接將該控件拖到需要添加的頁(yè)面位置。進(jìn)入頁(yè)面的源視圖,通過(guò)HTML語(yǔ)法,直接將該控件添加到頁(yè)面的相應(yīng)位置。HTML服務(wù)器控件HTML”選項(xiàng)卡上的ASP.NET服務(wù)器控件。從工具箱添加到頁(yè)面上的HTML服務(wù)器控件只是已設(shè)置了某些屬性的HTML元素,當(dāng)然也可通過(guò)輸入HTML標(biāo)記在“源”視圖中創(chuàng)建HTML元素。默認(rèn)情況下,ASP.NET文件中的HTML元素作為文本進(jìn)行處理,并且不能在服務(wù)器端代碼中引用這些元素,只能在客戶端通過(guò)javascript和vbscript等腳本語(yǔ)言來(lái)控制。工具箱的“HTML”選項(xiàng)卡上提供了一些基于HTMLINPUT元素的控件。本節(jié)通過(guò)下列兩個(gè)控件HTMLINPUT元素的使用方法。HTML元素Input(Button)控件,按鈕控件:默認(rèn)情況下是“INPUTtype="button"元素”。Input(Text)元素創(chuàng)建允許用戶在其中輸入文本或密碼的單行文本框。其主要屬性有:(1)Type=text/password:文本框的類型;(2)MaxLength:文本框中最大的輸入字節(jié);(3)Size:設(shè)定文本框的寬度;(4)Value:設(shè)定文本框的值。其主要屬性有:ID:此控件的編程名稱;value:設(shè)置按鈕中顯示的文字HTML元素例:演示如何使用Input(Text)元素和Input(Button)元素。<inputid="Text1"type="text"maxlength="3"/> + <inputid="Text2"type="text"maxlength="3"/> <inputid="Button1"type="button"onclick="AddButton_Click();"value="="/> <inputid="Text3"type="text"maxlength="3"/>HTML服務(wù)器控件從工具箱添加到ASP.NET頁(yè)面上的HTML服務(wù)器控件只是已設(shè)置了某些屬性的HTML元素。默認(rèn)情況下,這些添加到ASP.NET文件中的HTML元素被視為傳遞給瀏覽器的標(biāo)記,作為文本進(jìn)行處理,不能在服務(wù)器端的代碼中引用這些元素。若要使這些元素能以編程方式進(jìn)行訪問(wèn),可以通過(guò)添加runat="server"屬性表明應(yīng)將HTML元素作為服務(wù)器控件進(jìn)行處理。還可設(shè)置HTML元素的id屬性,這樣就可使用基于服務(wù)器的代碼對(duì)其進(jìn)行編程引用了。添加了屬性runat="server"的HTML元素就轉(zhuǎn)換為HTML服務(wù)器控件了。移除控件標(biāo)記中的runat="server"屬性,HTML服務(wù)器控件就轉(zhuǎn)換為HTML元素了?!纠咳绾问褂霉ぞ呦涞腎nput(Button)服務(wù)器控件、Input(Text)服務(wù)器控件。<inputid="Text1"type="Text"size="2"maxlength="3"runat="server"/>+<inputid="Text2"type="Text"size="2"maxlength="3"runat="server"/><inputid="Button1"type="button"value="="onserverclick="AddButton_Click"runat="server"/><inputid="Text3"type="Text"size="2"maxlength="3"runat="server"/>HTML控件由HTML元素衍生而來(lái),由于HTML元素的屬性只能靜態(tài)地設(shè)置,一般在程序執(zhí)行過(guò)程中不能被修改,很不靈活。為了彌補(bǔ)這一不足。ASP.NET特地提供HTML控件,這種控件允許在程序中設(shè)置其屬性,也允許在程序的執(zhí)行過(guò)程中動(dòng)態(tài)地讀取及修改其屬性,從而可以產(chǎn)生動(dòng)態(tài)的網(wǎng)頁(yè)3.標(biāo)準(zhǔn)服務(wù)器控件ASP.NET包含大量可在ASP.NET網(wǎng)頁(yè)上使用的標(biāo)準(zhǔn)服務(wù)器控件。按鈕控件可使用ASP.NETButton服務(wù)器控件為用戶提供向服務(wù)器發(fā)送網(wǎng)頁(yè)的能力。該控件會(huì)在服務(wù)器代碼中觸發(fā)一個(gè)事件,可以處理該事件來(lái)響應(yīng)回發(fā)。ASP.NET包括三種按鈕控件,每種按鈕控件在網(wǎng)頁(yè)上顯示的方式都不同,如下表所列:控件說(shuō)明Button顯示一個(gè)標(biāo)準(zhǔn)命令按鈕,該按鈕呈現(xiàn)為一個(gè)HTMLinput元素。LinkButton呈現(xiàn)為頁(yè)面中的一個(gè)超鏈接。但是,它包含使窗體被發(fā)回服務(wù)器的客戶端腳本。(可以使用HyperLink服務(wù)器控件創(chuàng)建真實(shí)的超鏈接。)ImageButton將圖形呈現(xiàn)為按鈕。這對(duì)于提供豐富的按鈕外觀非常有用。ImageButton控件還提供有關(guān)圖形內(nèi)已單擊位置的坐標(biāo)信息(1)按鈕事件:當(dāng)用戶單擊任何Button(按鈕)服務(wù)器控件時(shí),會(huì)將該頁(yè)發(fā)送到服務(wù)器。這使得在基于服務(wù)器的代碼中,網(wǎng)頁(yè)被處理,任何掛起的事件被引發(fā)。這些按鈕還可引發(fā)它們自己的Click事件,可以為這些事件編寫(xiě)“事件處理程序”。(2)按鈕回發(fā)行為:當(dāng)用戶單擊按鈕控件時(shí),該頁(yè)回發(fā)到服務(wù)器。默認(rèn)情況下,該頁(yè)回發(fā)到其本身,在這里重新生成相同的頁(yè)面并處理該頁(yè)上控件的事件處理程序??梢耘渲冒粹o以將當(dāng)前頁(yè)面回發(fā)到另一頁(yè)面。這對(duì)于創(chuàng)建多頁(yè)窗體可能非常有用。默認(rèn)情況下,Button控件使用HTMLPOST操作提交頁(yè)面。LinkButton和ImageButton控件不能直接支持HTMLPOST操作。因此,使用這些按鈕時(shí),它們將客戶端腳本添加到頁(yè)面以允許控件以編程方式提交頁(yè)面。(因此LinkButton和ImageButton控件要求在瀏覽器上啟用客戶端腳本。)在某些情況下,可能希望Button控件也使用客戶端腳本執(zhí)行回發(fā)。這在希望以編程方式操作回發(fā)(如將回發(fā)附加到頁(yè)面上的其他元素)時(shí)非常有用??梢詫utton控件的UseSubmitBehavior屬性設(shè)置為true以使Button控件使用基于客戶端腳本的回發(fā)。(3)處理Button控件的客戶端事件

Button控件既可以引發(fā)服務(wù)器事件,也可以引發(fā)客戶端事件。服務(wù)器事件在回發(fā)后發(fā)生,且這些事件在為頁(yè)面編寫(xiě)的服務(wù)器端代碼中處理??蛻舳耸录诳蛻舳四_本(通常為ECMAScript(JavaScript))中處理,并在提交頁(yè)面前引發(fā)。通過(guò)向ASP.NET按鈕控件添加客戶端事件,可以執(zhí)行一些任務(wù)(如在提交頁(yè)之前顯示確認(rèn)對(duì)話框以及可能取消提交)。例TextBox(文本框)控件TextBox服務(wù)器控件是讓用戶向ASP.NET網(wǎng)頁(yè)輸入文本的控件。默認(rèn)情況下,該控件的TextMode屬性設(shè)置為T(mén)extBoxMode.SingleLine,這將顯示一個(gè)單行文本框。但可以將TextMode屬性設(shè)置為T(mén)extBoxMode.MultiLine,以顯示多行文本框(該文本框?qū)⒆鳛閠extarea元素呈現(xiàn))。也可以將TextMode屬性更改為T(mén)extBoxMode.Password,以顯示屏蔽用戶輸入的文本框。通過(guò)使用Text屬性可以獲得TextBox控件中顯示的文本。安全說(shuō)明:將TextMode屬性設(shè)置為T(mén)extBoxMode.Password可有助于確保在輸入密碼時(shí)其他人無(wú)法看到。但是,輸入到文本框中的文本沒(méi)有以任何方式進(jìn)行加密,為了提高安全性,在發(fā)送其中帶有密碼的頁(yè)時(shí),可以使用安全套接字層(SSL)和加密。【例】演示文本框TextBox控件、標(biāo)簽Label控件、按鈕Button控件的使用ListBox控件和DropDownList控件ListBox服務(wù)器控件使用戶能夠從預(yù)定義的列表中選擇一項(xiàng)或多項(xiàng)。DropDownList服務(wù)器控件使用戶可以從預(yù)定義的下拉列表中選擇單個(gè)項(xiàng),它與ListBox服務(wù)器控件的不同之處在于,其選項(xiàng)列表在用戶單擊下拉按鈕之前一直保持隱藏狀態(tài)。此外,DropDownList控件不支持多重選擇模式。DropDownList控件的某個(gè)選項(xiàng)被選中時(shí),該控件將引發(fā)SelectedIndexChanged事件。默認(rèn)情況下,此事件不會(huì)導(dǎo)致向服務(wù)器發(fā)送頁(yè),但可通過(guò)將AutoPostBack屬性設(shè)置為true,強(qiáng)制該控件立即發(fā)送。如果將ListBox控件的屬性SelectionMode的值從“Single”改為“Multiple”將允許進(jìn)行多重選擇,用戶可以在按住Ctrl或Shift鍵的同時(shí),單擊以選擇多個(gè)項(xiàng)。ListBox控件的一些操作屬性列表Selectionmode組件中條目的選擇類型,即多選(Multiple)、單選(Single)Rows列表框中顯示總共多少行Selected檢測(cè)條目是否被選中SelectedItem返回的類型是ListItem,獲得列表框中被選擇的條目Count列表框中條目的總數(shù)selectedIndex:列表框中被選擇項(xiàng)的索引值Items列表框中的所有項(xiàng),每一項(xiàng)的類型都是ListItem取列表框中被選中的值ListBox.SelectedValue動(dòng)態(tài)的添加列表框中的項(xiàng):listBox.Items.Add(“所要添加的項(xiàng)”);移動(dòng)指定項(xiàng)//首先判斷列表框中的項(xiàng)是否大于0If(ListBox.Items.Count>0){//移出選擇的項(xiàng)ListBox。Items。Remove(ListBox.SelectedItem)}清空所有項(xiàng)//首先判斷列表框中的項(xiàng)是否大于0If(ListBox.Items.Count>0){//清空所有項(xiàng)ListBox.Items.Clear();}兩個(gè)列表框聯(lián)動(dòng),即兩級(jí)聯(lián)動(dòng)菜單//判斷第一個(gè)列表框中被選中的值switch(ListBox1.SelectValue){//如果是'A',第二個(gè)列表框中就添加這些;case“A”ListBox2.Items.Clear();ListBox2.Items.Add("A1");ListBox2.Items.Add("A2");ListBox2.Items.Add("A3");//如果是“B”,第二個(gè)列表框中就添加這些;case"B"ListBox2.Items.Clear();ListBox2.Items.Add("B1");ListBox2.Items.Add("B2");ListBox2.Items.Add("B3");CheckBox(復(fù)選框)和CheckBoxList(復(fù)選框列表)控件CheckBox控件和CheckBoxList控件分別用于向用戶提供選項(xiàng)和選項(xiàng)列表。CheckBox控件適合用在選項(xiàng)不多且比較固定的情況,當(dāng)選項(xiàng)較多或需在運(yùn)行時(shí)動(dòng)態(tài)決定有哪些選項(xiàng)時(shí),使用CheckBoxList控件比較方便?!纠垦菔緩?fù)選框控件CheckBox和復(fù)選框列表控件CheckBoxLis使用Image和ImageMap控件ASP.NET3.5包含兩個(gè)圖形控件,一個(gè)Image,一個(gè)是ImageMap控件。(1)Image服務(wù)器控件使您可以在ASP.NET網(wǎng)頁(yè)上顯示圖像,并用自己的代碼管理這些圖像??梢栽谠O(shè)計(jì)時(shí)或運(yùn)行時(shí)以編程方式為Image對(duì)象指定圖形文件。還可以將控件的ImageUrl屬性綁定到一個(gè)數(shù)據(jù)源,以根據(jù)數(shù)據(jù)庫(kù)信息顯示圖形。與大多數(shù)其他服務(wù)器控件不同,Image控件不支持任何事件。例如,Image控件不響應(yīng)鼠標(biāo)單擊事件。實(shí)際上,可以通過(guò)使用ImageMap或ImageButton控件來(lái)創(chuàng)建交互式圖像。(2)Imagemap說(shuō)白了就是一種圖形,包括許多不同部分,將鼠標(biāo)指針指在圖形的各個(gè)部分,點(diǎn)一下鼠標(biāo)左鍵,就可以進(jìn)入另一個(gè)超級(jí)鏈接的頁(yè)面。Imagemap不一定要真的是map,可以是任何圖形。比如一張臉好了,將鼠標(biāo)點(diǎn)在眼睛上就出現(xiàn)關(guān)于眼睛的頁(yè)面,點(diǎn)在鼻子上就出現(xiàn)鼻子的頁(yè)面(很適合做成整容外科的網(wǎng)頁(yè)吧?!),也是一種ImageMap。ImageMap控件由兩個(gè)元素組成。第一個(gè)是圖像,它可是任何標(biāo)準(zhǔn)Web圖形格式的圖形,如.gif、.jpg或.png文件。第二個(gè)元素是HotSpot(作用點(diǎn))控件的集合。每個(gè)作用點(diǎn)控件都是一個(gè)類型為CircleHotSpot、RectangleHotSpot或PolygonHotSpot的不同項(xiàng)。對(duì)于每個(gè)作用點(diǎn)控件,都要定義用于指定該作用點(diǎn)的位置和大小的坐標(biāo)。例如,如果創(chuàng)建一個(gè)CircleHotSpot控件,則需要定義圓心的x和y坐標(biāo)以及圓的半徑。響應(yīng)用戶單擊:每一個(gè)作用點(diǎn)都可以是一個(gè)單獨(dú)的超鏈接或回發(fā)事件??梢灾付ㄓ脩魡螕糇饔命c(diǎn)時(shí)發(fā)生的事件,可以將每個(gè)作用點(diǎn)配置為可以轉(zhuǎn)到為該作用點(diǎn)提供的URL的超鏈接?;蛘?,也可以將控件配置為在用戶單擊某個(gè)作用點(diǎn)時(shí)執(zhí)行回發(fā),并可為每個(gè)作用點(diǎn)提供一個(gè)唯一值。回發(fā)會(huì)引發(fā)ImageMap控件的Click事件。在事件處理程序中,可以讀取分配給每個(gè)作用點(diǎn)的唯一值?!纠垦菔綢mage控件和ImageMap控件的使用。RadioButton和RadioButtonList服務(wù)器控件在向ASP.NET網(wǎng)頁(yè)添加單選按鈕時(shí),可以使用兩種服務(wù)器控件:?jiǎn)蝹€(gè)RadioButton控件或RadioButtonList控件。這兩種控件都允許用戶從一小組互相排斥的預(yù)定義選項(xiàng)中進(jìn)行選擇。這些控件允許您定義任意數(shù)目帶標(biāo)簽的單選按鈕,并將它們水平或垂直排列。每類控件都有各自的優(yōu)點(diǎn)。單個(gè)RadioButton控件使您可以更好地控制單選按鈕組的布局。例如,可以在各單選按鈕之間加入文本(即非單選按鈕文本)。RadioButtonList控件不允許您在按鈕之間插入文本,但如果想將按鈕綁定到數(shù)據(jù)源,使用這類控件要方便得多。在編寫(xiě)代碼以檢查所選定的按鈕方面,它也稍微簡(jiǎn)單一些。1.對(duì)單選按鈕分組單選按鈕很少單獨(dú)使用,而是進(jìn)行分組以提供一組互斥的選項(xiàng)。在一個(gè)組內(nèi),每次只能選擇一個(gè)單選按鈕。您可以用下列方法創(chuàng)建分組的單選按鈕:(1)先向頁(yè)面中添加單個(gè)的RadioButton控件,然后將所有這些控件手動(dòng)分配到一個(gè)組中。具有相同組名的所有單選按鈕視為單個(gè)組的組成部分。(2)向頁(yè)面中添加一個(gè)RadioButtonList控件。該控件中的列表項(xiàng)將自動(dòng)進(jìn)行分組。2.RadioButton事件在單個(gè)RadioButton控件和RadioButtonList控件之間,事件的工作方式略有不同。單個(gè)RadioButton控件在用戶單擊該控件時(shí)引發(fā)CheckedChanged事件。默認(rèn)情況下,這一事件并不導(dǎo)致向服務(wù)器發(fā)送頁(yè)面,但通過(guò)將AutoPostBack屬性設(shè)置為true,可以使該控件強(qiáng)制立即發(fā)送。與單個(gè)的RadioButton控件相反,RadioButtonList控件在用戶更改列表中選定的單選按鈕時(shí)會(huì)引發(fā)SelectedIndexChanged事件。默認(rèn)情況下,此事件并不導(dǎo)致向服務(wù)器發(fā)送窗體,但可以通過(guò)將AutoPostBack屬性設(shè)置為true來(lái)指定此選項(xiàng)。MultiView和View控件MultiView和View控件和制作出選項(xiàng)卡的效果,MultiView控件用作一個(gè)或多個(gè)View控件的外部容器。View控件又可包含標(biāo)記和控件的任何組合。如果要切換視圖,可以使用控件的ID或者View控件的索引值。在MultiView控件中,一次只能將一個(gè)View控件定義為活動(dòng)視圖。如果某個(gè)View控件定義為活動(dòng)視圖,它所包含的子控件則會(huì)呈現(xiàn)到客戶端??梢允褂肁ctiveViewIndex屬性或SetActiveView方法定義活動(dòng)視圖。如果ActiveViewIndex屬性為空,則MultiView控件不向客戶端呈現(xiàn)任何內(nèi)容。如果活動(dòng)視圖設(shè)置為MultiView控件中不存在的View,則會(huì)在運(yùn)行時(shí)引發(fā)ArgumentOutOfRangeException。一些常用的屬性、方法:ActiveViewIndex屬性:用于獲取或設(shè)置當(dāng)前被激活顯示的View控件的索引值。默認(rèn)值為-1,表示沒(méi)有View控件被激活。SetActiveView方法:用于激活顯示特定的View控件。ActiveViewChanged事件:當(dāng)視圖切換時(shí)被激發(fā)。MultiView控件一次顯示一個(gè)View控件,并公開(kāi)該View控件內(nèi)的標(biāo)記和控件。通過(guò)設(shè)置MultiView控件的ActiveViewIndex屬性,可以指定當(dāng)前可見(jiàn)的View控件。呈現(xiàn)View控件內(nèi)容:未選擇某個(gè)View控件時(shí),該控件不會(huì)呈現(xiàn)到頁(yè)面中。但是,每次呈現(xiàn)頁(yè)面時(shí)都會(huì)創(chuàng)建所有View控件中的所有服務(wù)器控件的實(shí)例,并且將這些實(shí)例的值存儲(chǔ)為頁(yè)面的視圖狀態(tài)的一部分。無(wú)論是MultiView控件還是各個(gè)View控件,除當(dāng)前View控件的內(nèi)容外,都不會(huì)在頁(yè)面中顯示任何標(biāo)記。例如,這些控件不會(huì)以與Panel控件相同的方式來(lái)呈現(xiàn)div元素。這些控件也不支持可以作為一個(gè)整體應(yīng)用于當(dāng)前View控件的外觀屬性。但是可以將一個(gè)主題分配給MultiView或View控件,控件將該主題應(yīng)用于當(dāng)前View控件的所有子控件。引用控件:每個(gè)View控件都支持Controls屬性,該屬性包含該View控件中的控件集合。也可以在代碼中單獨(dú)引用View控件中的控件。在視圖間導(dǎo)航:除了通過(guò)將MultiView控件的ActiveViewIndex屬性設(shè)置為要顯示的View控件的索引值可以在視圖間導(dǎo)航外,MultiView控件還支持可以添加到每個(gè)View控件的導(dǎo)航按鈕。若要?jiǎng)?chuàng)建導(dǎo)航按鈕,可以向每個(gè)View控件添加一個(gè)按鈕控件(Button、LinkButton或ImageButton)。然后可以將每個(gè)按鈕的CommandName和CommandArgument屬性設(shè)置為保留值以使MultiView控件移動(dòng)到另一個(gè)視圖?!纠縑iew和MultiView控件示例AdRotator(廣告控件)服務(wù)器控件AdRotator服務(wù)器控件提供一種在ASP.NET網(wǎng)頁(yè)上顯示廣告的方法。該控件可顯示.gif文件或其他圖形圖像。當(dāng)用戶單擊廣告時(shí),系統(tǒng)會(huì)將他們重定向到指定的目標(biāo)URL。AdRotator服務(wù)器控件可從數(shù)據(jù)源(通常是XML文件或數(shù)據(jù)庫(kù)表)提供的廣告列表中自動(dòng)讀取廣告信息,如圖形文件名和目標(biāo)URL。您可以將信息存儲(chǔ)在一個(gè)XML文件或數(shù)據(jù)庫(kù)表中,然后將AdRotator控件綁定到該文件。AdRotator控件會(huì)隨機(jī)選擇廣告,每次刷新頁(yè)面時(shí)都將更改顯示的廣告。廣告可以加權(quán)以控制廣告條的優(yōu)先級(jí)別,這可以使某些廣告的顯示頻率比其他廣告高。也能編寫(xiě)在廣告間循環(huán)的自定義邏輯。AdRotator控件的所有屬性都是可選的。XML文件中可以包括下列屬性:ImageUrl:要顯示的圖像的URL。NavigateUrl:?jiǎn)螕鬉dRotator控件時(shí)要轉(zhuǎn)到的網(wǎng)頁(yè)的URL。AlternateText:圖像不可用時(shí)顯示的文本。Keyword:可用于篩選特定廣告的廣告類別。Impressions:一個(gè)指示廣告的可能顯示頻率的數(shù)值(加權(quán)數(shù)值)。在XML文件中,所有Impressions值的總和不能超過(guò)2,048,000,000-1。Height:廣告的高度(以像素為單位)。此值會(huì)重寫(xiě)AdRotator控件的默認(rèn)高度設(shè)置。Width:廣告的寬度(以像素為單位)。此值會(huì)重寫(xiě)AdRotator控件的默認(rèn)寬度設(shè)置。【例】使用AdRotator服務(wù)器控件顯示數(shù)據(jù)庫(kù)中的廣告Literal控件和Panel控件Literal控件和Panel控件均可作為容器控件,但二者的適用場(chǎng)合不同,下面分別介紹。1.Literal控件Literal控件可以作為頁(yè)面上其他內(nèi)容的容器,最常用于向頁(yè)面中動(dòng)態(tài)添加內(nèi)容。對(duì)于靜態(tài)內(nèi)容,無(wú)需使用容器,可以將標(biāo)記作為HTML直接添加到頁(yè)面中。但是,如果要?jiǎng)討B(tài)添加內(nèi)容,則必須將內(nèi)容添加到容器中。典型的容器有Label控件、Literal控件、Panel控件和PlaceHolder控件。Literal控件與Label控件的區(qū)別在于Literal控件不向文本中添加任何HTML元素。(Label控件呈現(xiàn)一個(gè)span元素。)因此,Literal控件不支持包括位置屬性在內(nèi)的任何樣式屬性。但是,Literal控件允許指定是否對(duì)內(nèi)容進(jìn)行編碼。Panel和PlaceHolder控件呈現(xiàn)為div元素,這將在頁(yè)面中創(chuàng)建離散塊,與Label和Literal控件進(jìn)行內(nèi)嵌呈現(xiàn)的方式不同。通常情況下,當(dāng)希望文本和控件直接呈現(xiàn)在頁(yè)面中而不使用任何附加標(biāo)記時(shí),可使用Literal控件。Literal控件常用的屬性是Mode屬性,該屬性用于指定控件對(duì)您所添加的標(biāo)記的處理方式??梢詫ode屬性設(shè)置為以下值:Transform.:將對(duì)添加到控件中的任何標(biāo)記進(jìn)行轉(zhuǎn)換,以適應(yīng)請(qǐng)求瀏覽器的協(xié)議。如果向使用HTML外的其他協(xié)議的移動(dòng)設(shè)備呈現(xiàn)內(nèi)容,此設(shè)置非常有用。PassThrough.:添加到控件中的任何標(biāo)記都將按原樣呈現(xiàn)在瀏覽器中。Encode:將使用HtmlEncode方法對(duì)添加到控件中的任何標(biāo)記進(jìn)行編碼,這會(huì)將HTML編碼轉(zhuǎn)換為其文本表示形式。例如,<b>標(biāo)記將呈現(xiàn)為<b>。當(dāng)希望瀏覽器顯示而不解釋標(biāo)記時(shí),編碼將很有用。編碼對(duì)于安全也很有用,有助于防止在瀏覽器中執(zhí)行惡意標(biāo)記。顯示來(lái)自不受信任的源的字符串時(shí)推薦使用此設(shè)置。【例】演示Literal控件的使用2.Panel控件Panel控件在ASP.NET網(wǎng)頁(yè)內(nèi)提供了一種容器控件,可以將它用作靜態(tài)文本和其他控件的父控件,向該控件添加其他控件和靜態(tài)文本。可以將Panel控件用作其他控件的容器。當(dāng)以編程方法創(chuàng)建內(nèi)容并需要一種將內(nèi)容插入到頁(yè)面中的方法時(shí),此方法尤為適用。以下部分描述了可以使用Panel控件的其他方法。(1)動(dòng)態(tài)生成的控件的容器Panel控件為在運(yùn)行時(shí)創(chuàng)建的控件提供了一個(gè)方便的容器。(2)對(duì)控件和標(biāo)記進(jìn)行分組對(duì)于一組控件和相關(guān)的標(biāo)記,可以通過(guò)把其放置在Panel控件中,然后操作此Panel控件的方式將它們作為一個(gè)單元進(jìn)行管理。例如,可以通過(guò)設(shè)置面板的Visible屬性來(lái)隱藏或顯示該面板中的一組控件。(3)具有默認(rèn)按鈕的窗體可將TextBox控件和Button控件放置在Panel控件中,然后通過(guò)將Panel控件的DefaultButton屬性設(shè)置為面板中某個(gè)按鈕的ID來(lái)定義一個(gè)默認(rèn)的按鈕。如果用戶在面板內(nèi)的文本框中進(jìn)行輸入時(shí)按Enter,這與用戶單擊特定的默認(rèn)按鈕具有相同的效果。這有助于用戶更有效地使用項(xiàng)目窗體。4)向其他控件添加滾動(dòng)條有些控件(如TreeView控件)沒(méi)有內(nèi)置的滾動(dòng)條。通過(guò)在Panel控件中放置滾動(dòng)條控件,可以添加滾動(dòng)行為。若要向Panel控件添加滾動(dòng)條,請(qǐng)?jiān)O(shè)置Height和Width屬性,將Panel控件限制為特定的大小,然后再設(shè)置ScrollBars屬性。(5)頁(yè)上的自定義區(qū)域可使用Panel控件在頁(yè)面上創(chuàng)建具有自定義外觀和行為的區(qū)域,如下所示:創(chuàng)建一個(gè)帶標(biāo)題的分組框:可設(shè)置GroupingText屬性來(lái)顯示標(biāo)題。呈現(xiàn)頁(yè)時(shí),Panel控件的周?chē)鷮@示一個(gè)包含標(biāo)題的框,其標(biāo)題是您指定的文本。說(shuō)明:不能在Panel控件中同時(shí)指定滾動(dòng)條和分組文本。如果設(shè)置了分組文本,其優(yōu)先級(jí)高于滾動(dòng)條。在頁(yè)面上創(chuàng)建具有自定義顏色或其他外觀的區(qū)域:Panel控件支持外觀屬性(如BackColor和BorderWidth),可以設(shè)置外觀屬性為頁(yè)面上的某個(gè)區(qū)域創(chuàng)建獨(dú)特的外觀。說(shuō)明:設(shè)置GroupingText屬性將自動(dòng)在Panel控件周?chē)尸F(xiàn)一個(gè)邊框?!纠垦菔疚募anel控件的使用驗(yàn)證控件ASP.NET為開(kāi)發(fā)人員提供了一套完整的服務(wù)器控件來(lái)驗(yàn)證用戶輸入的信息是否有效,這些控件可與ASP.NET網(wǎng)頁(yè)上的任何控件(包括HTML和服務(wù)器控件)一起使用。用戶在網(wǎng)頁(yè)的控件上面輸入數(shù)據(jù),往往需要對(duì)其進(jìn)行有效性驗(yàn)證。這樣可以及時(shí)檢查用戶提交的數(shù)據(jù)是否合法,同時(shí)可以減少服務(wù)器的負(fù)擔(dān)。驗(yàn)證類型使用的控件說(shuō)明必選項(xiàng)必選項(xiàng)驗(yàn)證控件RequiredFieldValidator驗(yàn)證一個(gè)必填字段,如果這個(gè)字段沒(méi)填,那么,將不能提交信息。與某值的比較比較驗(yàn)證控件CompareValidator比較驗(yàn)證:將用戶輸入與一個(gè)常數(shù)值或者另一個(gè)控件或特定數(shù)據(jù)類型的值進(jìn)行比較(使用小于、等于或大于等比較運(yùn)算符),同時(shí)也可以用來(lái)校驗(yàn)控件中內(nèi)容的數(shù)據(jù)類型:如整形、字符串型等。如密碼和確認(rèn)密碼兩個(gè)字段是否相等范圍檢查范圍驗(yàn)證控件RangeValidator范圍驗(yàn)證:RangeValidator控件可以用來(lái)判斷用戶輸入的值是否在某一特定范圍內(nèi)??梢詸z查數(shù)字對(duì)、字母對(duì)和日期對(duì)限定的范圍。屬性MaximumValue和MinimumValue用來(lái)設(shè)定范圍的最大和最小值。模式匹配正則表達(dá)式驗(yàn)證控件RegularExpressionValidator正則表達(dá)式驗(yàn)證:它根據(jù)正則表達(dá)式來(lái)驗(yàn)證用戶輸入字段的格式是否合法,如電子郵件、身份證、電話號(hào)碼等。ControlToValidate屬性選擇需要驗(yàn)證的控件,ValidationExpression屬性則編寫(xiě)需要驗(yàn)證的表達(dá)式的樣式。用戶定義用戶定義驗(yàn)證控件CustomValidator使用您自己編寫(xiě)的驗(yàn)證邏輯檢查用戶輸入。此類驗(yàn)證使您能夠檢查在運(yùn)行時(shí)派生的值。在運(yùn)行定制的客戶端JavaScript或VBScript函數(shù)時(shí),可以使用這個(gè)控件。驗(yàn)證匯總驗(yàn)證匯總控件ValidationSummaryValidationSummary驗(yàn)證匯總控件:該控件不執(zhí)行驗(yàn)證,但該控件將本頁(yè)所有驗(yàn)證控件的驗(yàn)證錯(cuò)誤信息匯總為一個(gè)列表并集中顯示,列表的顯示方式由DisplayMode屬性設(shè)置。驗(yàn)證對(duì)象模型:通過(guò)使用由各個(gè)驗(yàn)證控件和頁(yè)面公開(kāi)的對(duì)象模型,可以與驗(yàn)證控件進(jìn)行交互。每個(gè)驗(yàn)證控件都會(huì)公開(kāi)自己的IsValid屬性,可以測(cè)試該屬性以確定該控件是否通過(guò)驗(yàn)證測(cè)試。頁(yè)面還公開(kāi)一個(gè)IsValid屬性,該屬性總結(jié)頁(yè)面上所有驗(yàn)證控件的IsValid狀態(tài)。該屬性允許您執(zhí)行單個(gè)測(cè)試,以確定是否可以繼續(xù)自行處理。頁(yè)面還公開(kāi)一個(gè)包含頁(yè)面上所有驗(yàn)證控件的列表的Validators集合。可以依次通過(guò)這一集合來(lái)檢查單個(gè)驗(yàn)證控件的狀態(tài)。驗(yàn)證控件的用法1.RequiredFieldValidator(必填驗(yàn)證)控件語(yǔ)法為:<asp:RequiredFieldValidatorid="控件名稱"Display="Dynamic|Static|None"ControlToValidate="被驗(yàn)證的控件的名稱"ErrorMessage="錯(cuò)誤發(fā)生時(shí)的提示信息"runat="server"/>CompareValidator(比較驗(yàn)證)控件語(yǔ)法為:<asp:CompareValidatorid="控件名稱"ControlToValidate="第一個(gè)被驗(yàn)證的控件的名

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論