版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章利用建立WEB頁(yè)面4.1理解頁(yè)面的工作原理客戶瀏覽器(解釋執(zhí)行HTML標(biāo)記語(yǔ)言并顯示)
Internet互聯(lián)網(wǎng)絡(luò)Web頁(yè)Web頁(yè)Web頁(yè)Web頁(yè).HTML文件:當(dāng)WEB服務(wù)器定位客戶端請(qǐng)求的頁(yè)面后,把HTML文件返回給瀏覽器.ASPX文件:當(dāng)WEB服務(wù)器定位客戶端請(qǐng)求的頁(yè)面后,如果擴(kuò)展名是.ASPX,則服務(wù)器處理該頁(yè)面,運(yùn)行腳本代碼,如果代碼重來沒有編譯過,需要先編譯再執(zhí)行,創(chuàng)建HTML文件,并把HTML文件返回給瀏覽器Web窗體簡(jiǎn)介Web窗體:用來生成和用戶交互的界面Web窗體是一個(gè)容器對(duì)象,有自己的方法屬性和事件,并能容納其他對(duì)象在一個(gè)Web窗體應(yīng)該有并只有一個(gè)Form控件<Form>標(biāo)記中沒有設(shè)置method屬性,所有窗體默認(rèn)用POST方法傳遞,也沒有設(shè)置action屬性,默認(rèn)情況下數(shù)據(jù)由原頁(yè)面處理服務(wù)器控件簡(jiǎn)介服務(wù)器控件是可以復(fù)用的可視化組件,可以在服務(wù)器上進(jìn)行處理,可以響應(yīng)事件、獲取和設(shè)置屬性。最終他們被轉(zhuǎn)換為標(biāo)準(zhǔn)的HTML標(biāo)記。服務(wù)器控件的優(yōu)點(diǎn).NET會(huì)自動(dòng)創(chuàng)建和維護(hù)控件的狀態(tài)提供了一些可以實(shí)現(xiàn)復(fù)雜功能的控件,包括日歷控件和表格控件控件的內(nèi)容可以從數(shù)據(jù)庫(kù)或業(yè)務(wù)邏輯中生成可以對(duì)用戶輸入到控件中信息進(jìn)行有效性檢查,避免輸入錯(cuò)誤。.NETFramework提供的服務(wù)器控件HTML服務(wù)器控件:基于服務(wù)器的,對(duì)應(yīng)于標(biāo)準(zhǔn)HTML元素的控件Web服務(wù)器控件:包含基本W(wǎng)eb控件、列表控件、多功能控件和驗(yàn)證控件可移動(dòng)控件,它們是單獨(dú)的一組控件,與Web服務(wù)器控件的功能相同,但它們具有特殊的擴(kuò)展功能,支持可移動(dòng)的設(shè)備和小屏幕的設(shè)備Web服務(wù)器控件使用示例<html><body><formrunat=server>姓名:<asp:textboxid="textbox1"runat="server"/><asp:buttonid="button1"runat="server"text="提交"/><p><asp:labelid="label1"runat=server/></p></form></body></html>4.1.2代碼的分離的頁(yè)面模型就是基于將WEB窗體的顯示部分和邏輯部分的分離。顯示部分:是含有頁(yè)面布局信息服務(wù)器空間的HTML模板,負(fù)責(zé)對(duì)瀏覽器上的WEB窗體進(jìn)行表示邏輯部分是對(duì)WEB窗體進(jìn)行邏輯處理的代碼,負(fù)責(zé)生成WEB窗體上顯示的動(dòng)態(tài)內(nèi)容。代碼內(nèi)聯(lián)將邏輯部分和顯示部分放在一個(gè)文件中,稱為代碼內(nèi)聯(lián)方法:將邏輯部分包含在<script>標(biāo)記中,并為標(biāo)記加上runat=“server”屬性。<scriptrunat="server">subpage_load(srcasobject,easeventargs)ifnotispostbackthentextbox1.text="不超過5個(gè)漢字"label1.text="請(qǐng)輸入你的名字"endifendsubsubbutton1_click(senderasobject,eassystem.eventargs)endsub</script><html><body><formrunat=server>姓名:<asp:textboxid="textbox1"runat="server"/><asp:buttonid="button1"runat="server"text="提交"onclick="button1_click"/><p><asp:labelid="label1"runat=server/></p></form></body></html>后臺(tái)編碼將邏輯部分保存在單獨(dú)的文件中,稱為后臺(tái)編碼。執(zhí)行頁(yè)面時(shí),兩部分的文件會(huì)編譯到一個(gè)可執(zhí)行page對(duì)象。后臺(tái)編碼方法:將服務(wù)器端代碼轉(zhuǎn)移到一個(gè)新文件中,并用它們創(chuàng)建一個(gè)新類。<%@pageinherits="myclass1"src=aa.vblanguage="vb"%><html><body><formrunat=server>姓名:<asp:textboxid="textbox1"runat="server"/><asp:buttonid="button1"runat="server"text="提交"onclick="button1_click"/><p><asp:labelid="label1"runat=server/></p></form></body></html>importssystempublicclassmyclass1inheritspagepublictextbox1astextboxpubliclabel1aslabelpublicbutton1asbuttonsubpage_load(srcasobject,easeventargs)ifnotispostbackthentextbox1.text="不超過5個(gè)漢字"label1.text="請(qǐng)輸入你的名字"endifendsubsubbutton1_click(senderasobject,eassystem.eventargs)endsubendclass基于Web窗體的事件驅(qū)動(dòng)編程為響應(yīng)該事件而執(zhí)行的代碼塊稱為事件過程事件過程的命名:對(duì)于頁(yè)面事件,其過程的名稱就是事件的名稱對(duì)于服務(wù)器控件事件,過程名為控件名和事件名的組合的頁(yè)面事件當(dāng)一個(gè).aspx網(wǎng)頁(yè)被請(qǐng)求時(shí),它首先被編譯成一個(gè)PAGE類,以后每次請(qǐng)求這個(gè)頁(yè)面時(shí),這個(gè)類都會(huì)被實(shí)例化成可執(zhí)行的PAGE對(duì)象。PAGE對(duì)象的頁(yè)面事件:Page_init:頁(yè)面初始化時(shí)發(fā)生此事件Page_load:在內(nèi)存中加載頁(yè)面,并已經(jīng)加載了所有控件時(shí)引發(fā)該事件Page_unload:PAGE對(duì)象從IIS內(nèi)存中卸載并將輸出結(jié)果發(fā)送給瀏覽器時(shí)發(fā)生Page_load事件的使用通過page對(duì)象的IsPostback屬性,決定一段代碼是在頁(yè)面首次加載時(shí)執(zhí)行還是在回傳刷新之后執(zhí)行。執(zhí)行數(shù)據(jù)綁定讀取或更新控件屬性Page_init事件過程如果希望頁(yè)面上的代碼在其他事件發(fā)生之前執(zhí)行,就需要把它們放在Page_init事件過程中。Page_unload事件關(guān)閉文件關(guān)閉數(shù)據(jù)庫(kù)其他的清理或釋放服務(wù)器端對(duì)象和資源的工作服務(wù)器控件事件在控件中添加事件步驟:在控件的標(biāo)記中添加一個(gè)帶有事件名的屬性,并把它的值設(shè)置為事件處理過程創(chuàng)建事件處理過程服務(wù)器控件常事件Onload:控件加載到窗體時(shí)發(fā)生Onunload:當(dāng)控件從窗體上卸載時(shí)發(fā)生Onclick:單擊某些控件時(shí)發(fā)生Oninit:當(dāng)首次初始化Web頁(yè)面時(shí)發(fā)生Onprerender:顯示控件之前發(fā)生Ontextchanged:TextBox控件內(nèi)容發(fā)生改變時(shí)發(fā)生Oncheckchanged:checkbox和radiobutton控件的內(nèi)容發(fā)生改變時(shí)發(fā)生服務(wù)器控件與瀏覽器上HTML控件區(qū)別HTML控件:當(dāng)引發(fā)一個(gè)事件時(shí),瀏覽器處理服務(wù)器控件:事件由瀏覽器生成,但由服務(wù)器處理,即客戶機(jī)給服務(wù)器發(fā)送一個(gè)回送信息,告訴服務(wù)器處理該事件。對(duì)于頻繁發(fā)生的事件(例如onmouseover)服務(wù)器不處理,也沒有與這些相對(duì)應(yīng)的事件。工序流程在服務(wù)器執(zhí)行1和2345aHTTP請(qǐng)求HTML頁(yè)回發(fā)之后的值進(jìn)行更改67HTML頁(yè)5b用戶進(jìn)行回發(fā)Web窗體的自動(dòng)狀態(tài)管理在中,頁(yè)面會(huì)在對(duì)服務(wù)器的兩次請(qǐng)求之間存儲(chǔ)自己的Viewstate(視圖狀態(tài))。這種方法的優(yōu)點(diǎn):頁(yè)面的狀態(tài)與頁(yè)面一起存儲(chǔ),而不是存儲(chǔ)在服務(wù)器中缺點(diǎn):當(dāng)頁(yè)面很復(fù)雜時(shí),視圖狀態(tài)內(nèi)容會(huì)增大,以至影響頁(yè)面下載速度。所有服務(wù)器控件默認(rèn)都支持ViewState,可以將頁(yè)面級(jí)的ViewState關(guān)閉。<%@pageenableviewstate=“false”%>4.2HTML服務(wù)器控件給HTML標(biāo)記添加runat=“server”屬性,該標(biāo)記就變成HTML服務(wù)器控件HTML服務(wù)器控件都是對(duì)象,服務(wù)器可以編程訪問控件屬性、方法,可以為其編寫在服務(wù)器端運(yùn)行的事件處理程序用戶輸入到HTML服務(wù)器控件中的值可以高速緩存,并自動(dòng)維護(hù)視圖狀態(tài)可以指定驗(yàn)證控件驗(yàn)證HTML服務(wù)器控件的值例1<ahref="aa.aspx"id="anchor1"runat="server">Abc</a>例2<aid="anchor1"runat="server“/>subpage_load()anchor1.href=“aa.aspx"anchor1..innertext=“abc"endsubHTML服務(wù)器控件Htmlanchor:<a>htmlImage:<img>Htmlform:<form>Htmlbutton:<button>、<inputtype=button>Htmlinputbutton:<inputtype=submit><inputtype=reset>Htmlinputtext::<inputtype=text><inputtype=password>HTML服務(wù)器控件HtmlInputCheckbox:<inputtype=checkbox>HtmlInputRadiobutton:<inputtype=radio>Htmlinputimage:<inputtype=“image”>Htmlinputfile:<inputtype=“file”>Htmlinputhidden:<inputtype=“hidden”>htmltextarea:<textarea>Htmlselect:<select>Htmltable:<table>HTML服務(wù)器控件Htmltablerow:<tr>Htmltablecell:<td>Htmlgeneric:其他HTML元素。例如:<body>、<div>、<span>HTMLForm控件該控件映射到<form>HTML元素并允許為Web頁(yè)中的元素創(chuàng)建一個(gè)容器若要利用回發(fā)服務(wù),則所有Web窗體控件都必須嵌套在HtmlForm控件的格式正確的開始和結(jié)束標(biāo)記之間不能在單個(gè)Web窗體頁(yè)上包含多個(gè)HtmlForm控件例4.6:HTMLGENERIC控件的使用<scriptlanguage="VB"runat="server">subpage_load()mybody.attributes("bgcolor")="lemonchiffon"mybody.innerhtml="<h3>helloworld</h3>"endsub</script><html><bodyid="mybody"runat="server"></body></html>
例4.7:onserverchange事件的使用<html><body><formrunat="server"><inputid="mytext"type="text"runat="server"onServerchange="mytext_onserverchange"/><inputtype="submit"runat="server"value="確定"/><hr><spanid="span1"runat="server">33</span></form><scriptlanguage="VB"runat="server">Submytext_onserverchange(senderAsObject,eAsEventArgs)span1.enableviewstate=falsespan1.InnerText="內(nèi)容已經(jīng)變成<"&mytext.value&">"EndSub</script></body></html>HtmlInputFile控件演示Htmlselect控件的使用方法1:<selectid=“mylistbox”runat=server><optionvalue=“value1”>text1</optin><optionvalue=“value2”>text2</optin><optionvalue=“value3”>text3</optin></select>Htmltextarea控件Htmltextarea控件用來在Web頁(yè)面中顯示多行文本框,與<textarea>對(duì)應(yīng).<textareaid=”mycontrol”runat=“server”>textareacontrol</textarea>動(dòng)態(tài)生成表格關(guān)于htmlinputfile控件Postedfile:是HTMLINPUTFILE類的屬性,用于獲取文件的信息。使用該屬性可以獲取的文件信息有:
contentlengthContenttypeFilenameInputstreamSaveas():保存上傳文件的內(nèi)容4.3Web服務(wù)器控件Web服務(wù)器控件和HTML服務(wù)器控件Web服務(wù)器控件和HTML服務(wù)器控件都是由control類派生的,但是他們包含不同的基類屬性,并包含在不同的命名空間中。Web服務(wù)器控件包含在HTML服務(wù)器控件包含在Web服務(wù)器控件優(yōu)缺點(diǎn)Web服務(wù)器控件與HTML服務(wù)器控件相比具有以下優(yōu)點(diǎn)Web服務(wù)器控件的類型化對(duì)象模型編程簡(jiǎn)潔并且易于檢錯(cuò)它們自動(dòng)為下級(jí)(HTML3.2)和上級(jí)(HTML4.0)瀏覽器生成正確的HTML它們可用于生成更復(fù)雜的服務(wù)器控件(例如Calendar和DataGrid)Web服務(wù)器控件的缺點(diǎn)直接控制服務(wù)器控件如何呈現(xiàn)在發(fā)送給瀏覽器的頁(yè)上的能力較弱使用服務(wù)器控件設(shè)計(jì)頁(yè)面建議Web服務(wù)器控件偏愛類似VisualBasic的編程模型打算編寫可能由HTML3.2和HTML4.0瀏覽器使用的Web窗體頁(yè)需要特定功能,例如日歷打算創(chuàng)建包含嵌套控件的應(yīng)用程序并且需要在容器級(jí)別捕獲事件HTML服務(wù)器控件偏愛類似HTML的對(duì)象模型打算使用現(xiàn)有HTML頁(yè),并需要迅速添加Web窗體功能與客戶端腳本交互Web控件ASP.NET控件基本控件列表控件多功能控件驗(yàn)證控件Web控件-基本控件ASP.NET引入一組稱為“基本控件”的新控件,它們專門用于基本控件的使用方法與HTML控件相同,它們映射到HTML元素,并通過使用runat="server"屬性在服務(wù)器上執(zhí)行Web控件-列表控件這些控件用于在Web頁(yè)中創(chuàng)建數(shù)據(jù)列表填充這些控件的數(shù)據(jù)通常是從數(shù)據(jù)庫(kù)中檢索的用戶可以從列表中選擇一種選項(xiàng),并且該選項(xiàng)將存儲(chǔ)在數(shù)據(jù)庫(kù)中通常使用的標(biāo)準(zhǔn)列表控件是Repeater、DataList和DataGrid控件Web控件-多功能控件當(dāng)希望控件擁有復(fù)雜的功能或使用HTML元素?zé)o法創(chuàng)建的功能豐富的用戶界面時(shí),可以使用復(fù)雜控件日歷Web控件可以創(chuàng)建一個(gè)日歷用戶可以從中選擇當(dāng)前、以前和將來某個(gè)月份的日期用戶無需輸入不同的日期,只需使用同一日歷控件來選擇日期即可Web控件-驗(yàn)證控件輸入控件的數(shù)據(jù)需要進(jìn)行準(zhǔn)確性和取值范圍方面的檢查在ASP中,驗(yàn)證工作只能使用客戶端腳本語(yǔ)言在客戶端上執(zhí)行ASP.NET引入智能驗(yàn)證控件以使驗(yàn)證工作在服務(wù)器端執(zhí)行作為對(duì)象的Web控件Web控件是對(duì)象與對(duì)象一樣,Web控件擁有方法和屬性,并且響應(yīng)事件一旦將Web控件包括在Web頁(yè)中,就可以設(shè)置其屬性并調(diào)用其方法可以為Web控件編寫服務(wù)器端代碼以響應(yīng)在客戶端上發(fā)生的事件4.3.1基本的Web控件基本控件HTML控件基本控件<inputtype="checkbox"><inputtype="radio"><asp:CheckBox><asp:Radio><asp:TextBoxrows="1"><asp:TextBoxrows="10"><inputtype="text"><textarea>基本控件-文本輸入<asp:textboxid="name"runat="server"/>單行輸入多行輸入<asp:textboxid="add"textmode="multiline"rows=“10"columns="10"runat="server"/>密碼輸入<asp:textboxid="pwd"textmode="password"runat="server"/>(1)創(chuàng)建或打開一個(gè)Web項(xiàng)目。Table控件中的行通過TablRow對(duì)象實(shí)現(xiàn),每行中的單元格則通過TableCell對(duì)象實(shí)現(xiàn)。PAGE對(duì)象的頁(yè)面事件:CellPadding=“單元格間距”CellSpacing=“單元格邊距”display="static">通過HtmlInputFile控件,可以將文件上載到服務(wù)器<asp:Buttonid="編程標(biāo)識(shí)符"Text="文本標(biāo)題"clientvalidationfunction="clientval"HTML文件:當(dāng)WEB服務(wù)器定位客戶端請(qǐng)求的頁(yè)面后,把HTML文件返回給瀏覽器</asp:rangevalidator>text="不超過5個(gè)漢字"<inputtype="text"><asp:Tableid="編程標(biāo)識(shí)符"CellSpacing="單元格邊距"CellPadding="單元格間距"BackImageUrl="背景圖像位置"runat="server">DropDownList控件的常用成員與ListBox控件基本相同。<textarea>Label控件Label控件:如果顯示的內(nèi)容需要改變,可以使用label控件聲明Label控件的語(yǔ)法如下:
<asp:Labelid=“編程標(biāo)識(shí)符”runat=“server“text=”文本內(nèi)容”></asp:Label>使用Label控件的Text屬性可以獲取或設(shè)置Label控件的文本內(nèi)容。Literal控件Literal控件聲明Literal控件的語(yǔ)法如下:
<asp:Literalid=“”runat=“server”text=“文本內(nèi)容”></asp:Literal>與Label控件類似,該控件允許在頁(yè)上顯示靜態(tài)內(nèi)容并以編程方式對(duì)其進(jìn)行操作。與Label控件不同的是,Literal控件不將任何HTML元素添加到文本上,不允許向其內(nèi)容應(yīng)用樣式。Panel控件Panel控件:可以顯示靜態(tài)文本,也可以使用visible屬性實(shí)現(xiàn)文本是否顯示,但是與label不同的是panel的內(nèi)容不能動(dòng)態(tài)的改變聲明Panel控件的語(yǔ)法如下:<asp:Panelid="編程標(biāo)識(shí)符"BackImageUrl="背景圖像位置"runat="server">
在此處聲明其他控件</asp:Panel>Panel常用于作為其他控件的容器,label控件不能作為其他控件的容器。TextBox控件TextBox控件使用TextBoxWeb服務(wù)器控件可以在Web頁(yè)上創(chuàng)建單行和多行文本框。聲明TextBox控件的語(yǔ)法如下:
<asp:TextBoxid="編程標(biāo)識(shí)符"AutoPostBack="True|False" Columns="顯示寬度"MaxLength="最大字符數(shù)"Rows="行數(shù)"Text="文本內(nèi)容"TextMode="SingleLine|MultiLine|Password"Wrap="True|False"runat="server"> </asp:TextBox>TextBox控件的主要成員AutoPostBack屬性Text屬性TextMode屬性Enabled屬性Columns屬性Rows屬性ReadOnly屬性Height屬性Width屬性Wrap屬性DataBind方法TextChanged事件。HyperLink控件HyperLink控件HyperLinkWeb服務(wù)器控件用于在頁(yè)上創(chuàng)建一個(gè)鏈接,通過單擊它可以轉(zhuǎn)到其他頁(yè)或其他位置。聲明HyperLink控件的語(yǔ)法如下:
<asp:HyperLinkid=“編程標(biāo)識(shí)符”NavigateUrl=“鏈接的URL”Text=“說明文本”ImageUrl=“圖像的路徑”
Target="目標(biāo)窗口或框架"runat="server">
文本
</asp:HyperLink>HyperLink控件的常用屬性NavigateUrlTextImageUrlTargetImage控件Image控件使用Image控件可以在Web窗體上顯示圖像。聲明Image控件的語(yǔ)法如下:
<asp:Imageid="編程標(biāo)識(shí)符"runat="server"ImageUrl="圖像路徑"AlternateText="替換文本"ImageAlign="NotSet|AbsBottom|AbsMiddle|BaseLine|Bottom|Left|Middle|Right|TextTop|Top"/>Image控件的常用屬性ImageUrlAlternateTextImageAlignHeightWidthButton控件Button控件:用于提交按鈕和命令按鈕聲明Button控件的語(yǔ)法<asp:Buttonid="編程標(biāo)識(shí)符"Text="文本標(biāo)題"CommandName="命令名"CommandArgument="命令參數(shù)"CausesValidation="True|False"runat="server"><asp:Button>Button控件的常用屬性和事件Enabled屬性Text屬性CausesValidation屬性CommandName屬性CommandArgument屬性onClick事件onCommand事件LinkButton控件LinkButton控件聲明LinkButton控件的語(yǔ)法如下:
<asp:LinkButtonid="編程標(biāo)識(shí)符"CommandName="命令名" CommandArgument="命令參數(shù)"CausesValidation="True|False"runat="server">
文本
</asp:LinkButton>LinkButton控件的常用屬性和事件Text屬性ToolTip屬性CausesValidation屬性CommandName屬性CommandArgument屬性Click事件Command事件ImageButton控件ImageButton控件聲明ImageButton控件的語(yǔ)法如下:
<asp:ImageButtonid="編程標(biāo)識(shí)符"ImageUrl="圖像路徑"CommandName="命令名" CommandArgument="命令參數(shù)"CausesValidation="True|False"runat="server"> </asp:ImageButton>ImageButton控件的常用屬性和事件ImageUrl屬性ImageAlign屬性Height、Width屬性ToolTip屬性CausesValidation屬性CommandName屬性CommandArgument屬性Click事件Command事件內(nèi)部控件-控制轉(zhuǎn)移將數(shù)據(jù)回發(fā)到
服務(wù)器在頁(yè)面之間導(dǎo)航將數(shù)據(jù)保存到服務(wù)器或訪問服務(wù)器上的數(shù)據(jù)LinkButtonButtonImageButtonHyperlink控制轉(zhuǎn)移控件之間的差異Button和ImageButton用于將數(shù)據(jù)傳遞回服務(wù)器當(dāng)用戶需要在頁(yè)面之間導(dǎo)航時(shí),主要使用Hyperlink盡管LinkButton看起來像瀏覽器上的超鏈接,但是在單擊時(shí),它們會(huì)將數(shù)據(jù)傳遞回服務(wù)器CheckBox控件CheckBox控件使用CheckBox控件可以在Web頁(yè)上創(chuàng)建一個(gè)復(fù)選框控件,該控件允許用戶在True或False狀態(tài)之間切換。聲明CheckBox控件的語(yǔ)法如下:
<asp:CheckBoxid="編程標(biāo)識(shí)符"AutoPostBack="True|False" Text="標(biāo)題"TextAlign="Right|Left"Checked="True|False"runat="server"> </asp:CheckBox>CheckBox控件的常用屬性和事件AutoPostBack屬性Checked屬性Enabled屬性Text屬性TextAlign屬性CheckedChanged事件RadioButton控件RadioButton控件使用RadioButton控件可以在Web窗體上創(chuàng)建一個(gè)單選按鈕,通過將多個(gè)單選按鈕分為一組可以提供一組互相排斥的選項(xiàng)。聲明RadioButton控件的語(yǔ)法如下:<asp:RadioButtonid="編程標(biāo)識(shí)符"AutoPostBack="True|False"Checked="True|False"GroupName="組名"Text="文本標(biāo)題"TextAlign="Right|Left"runat="server"></asp:RadioButton>RadioButton控件的常用屬性和事件AutoPostBack屬性Checked屬性Enabled屬性GroupName屬性Text屬性TextAlign屬性ToolTip屬性CheckedChanged事件Table、TablRow和TableCell控件Table、TablRow和TableCell控件使用TableWeb服務(wù)器控件可以在Web窗體上聲明一個(gè)表格,并允許以編程方式對(duì)該表格進(jìn)行操作。Table控件中的行通過TablRow對(duì)象實(shí)現(xiàn),每行中的單元格則通過TableCell對(duì)象實(shí)現(xiàn)。若要?jiǎng)?chuàng)建Table控件,在“設(shè)計(jì)”視圖下單擊工具箱的“Web窗體”選項(xiàng)卡中的控件并將其拖到頁(yè)上。聲明Table控件的語(yǔ)法如下:
<asp:Tableid="編程標(biāo)識(shí)符"CellSpacing="單元格邊距"CellPadding="單元格間距"BackImageUrl="背景圖像位置"runat="server"> <asp:TableRow><asp:TableCell>單元格文本</asp:TableCell> </asp:TableRow><asp:TableRow><asp:TableCell>單元格文本</asp:TableCell> </asp:TableRow> </asp:Table>列表控件CheckBoxList控件使用CheckBoxList控件可以在Web頁(yè)上創(chuàng)建一個(gè)復(fù)選框組,通過此控件可以綁定到數(shù)據(jù)源。聲明CheckBoxList控件的語(yǔ)法如下:<asp:CheckBoxListid="編程標(biāo)識(shí)符"AutoPostBack="True|False"CellPadding=“單元格間距”CellSpacing=“單元格邊距”
DataSource=‘<%數(shù)據(jù)源表達(dá)式%>’DataTextField=“數(shù)據(jù)源字段”
DataValueField="數(shù)據(jù)源字段"RepeatColumns="列數(shù)"RepeatDirection="Vertical|Horizontal"RepeatLayout="Flow|Table"TextAlign="Right|Left"runat="server"><asp:ListItemvalue="值"selected="True|False">文本</asp:ListItem></asp:CheckBoxList>CheckBoxList控件的常用成員AutoPostBack屬性DataSource屬性DataTextField屬性DataValueField屬性Enabled屬性Items屬性RepeatColumns屬性RepeatDirection屬性RepeatLayout屬性SelectedIndex屬性SelectedItem屬性SelectedValue屬性TextAlign屬性DataBind方法SelectedIndexChanged事件RadioButtonList控件使用RadioButtonList控件可以在Web窗體上創(chuàng)建一組單選按鈕,該控件可以通過綁定到數(shù)據(jù)源而動(dòng)態(tài)生成的單一選擇的單選按鈕組。RadioButtonList控件的語(yǔ)法如下:<asp:RadioButtonListid="編程標(biāo)識(shí)符"AutoPostBack="True|False"CellPadding=“單元格邊距”CellSpacing=“單元格間距”
DataSource="<%數(shù)據(jù)綁定表達(dá)式%>"DataTextField=“數(shù)據(jù)源字段”DataValueField=“數(shù)據(jù)源字段”
RepeatColumns="列數(shù)"RepeatDirection="Vertical|Horizontal"RepeatLayout="Flow|Table"TextAlign="Right|Left"runat="server"><asp:ListItemText="標(biāo)簽文本"Value="值"Selected="True|False"/></asp:RadioButtonList>RadioButtonList控件的常用屬性和事件AutoPostBack屬性DataSource屬性DataTextField屬性DataValueField屬性Enabled屬性Items屬性RepeatColumns屬性RepeatDirection屬性RepeatLayout屬性SelectedIndex屬性SelectedItem屬性
SelectedValue屬性SelectedIndexChanged事件ListBox控件使用ListBox控件可以在Web窗體上創(chuàng)建單選或多選列表框。聲明ListBox控件的語(yǔ)法如下:<asp:ListBoxid="編程標(biāo)識(shí)符"DataSource="<%數(shù)據(jù)綁定表達(dá)式%>"DataTextField="數(shù)據(jù)源字段"DataValueField="數(shù)據(jù)源字段"AutoPostBack="True|False"Rows="列數(shù)"SelectionMode="Single|Multiple"runat="server"><asp:ListItemvalue="value"selected="True|False">文本</asp:ListItem></asp:ListBox>ListBox控件的常用成員
AutoPostBack屬性DataSource屬性DataTextField屬性
DataValueField屬性Enabled屬性
Items屬性Rows屬性
SelectedIndex屬性SelectedItem屬性SelectedValue屬性
SelectionMode屬性
DataBind方法SelectedIndexChanged事件DropDownList控件使用DropDownList控件可以在Web窗體上創(chuàng)建下拉列表框,允許用戶從中進(jìn)行單一選擇。聲明DropDownList控件的語(yǔ)法如下:
<asp:DropDownListid="編程標(biāo)識(shí)符"runat="server" DataSource=“<%數(shù)據(jù)綁定表達(dá)式%>” DataTextField="數(shù)據(jù)源字段" DataValueField="數(shù)據(jù)源字段"AutoPostBack="True|False"><asp:ListItemvalue="值"selected="True|False">
文本</asp:ListItem> </asp:DropDownList>DropDownList控件的常用成員與ListBox控件基本相同。AdRotator鼠標(biāo)在圖像上方移動(dòng)時(shí)顯示的文本<Advertisements><Ad><ImageUrl></ImageUrl>
<TargetUrl></TargetUrl><AlternateText>/AlternateText><Keyword></Keyword><Impressions></Impressions></Ad></Advertisements>圖像文件的絕對(duì)或相對(duì)Url單擊此Ad之后訪問的目標(biāo)Web站點(diǎn)指定給此Ad的廣告類別在循環(huán)播放時(shí)間安排中廣告
的優(yōu)先級(jí)AdRotator控件的使用方法AdRotator控件的使用一個(gè)XML文件來存儲(chǔ)廣告的相關(guān)信息,advertisementfile屬性可以使該控件與XML文件關(guān)聯(lián)XML文件必須以<advertisements>標(biāo)簽開始和結(jié)束,在<advertisements>標(biāo)簽內(nèi)可以有若干<ad>元素來定義每個(gè)廣告。AdRotator-輸出結(jié)果Calendar控件Calendar控件是最復(fù)雜的服務(wù)器控件。它通過創(chuàng)建一個(gè)HTML表來顯示一個(gè)交互式日歷。該控件的語(yǔ)法非常復(fù)雜,但這些屬性都不是必須的,如果在WEB上顯示日歷,只需在Web窗體頁(yè)中加入一條語(yǔ)句:<asp:calendarid=calendar1runat=server/>日歷控件事件日歷控件響應(yīng)兩個(gè)事件:日期更改月份更改4.4驗(yàn)證控件RequiredFieldValidatorRangeValidatorCustomValidatorCompareValidatorRegularExpressionValidatorValidationSummary限制空字段比較兩個(gè)字段檢查指定范圍使用表達(dá)式檢查值通過客戶端或服務(wù)器端函數(shù)檢查值在頁(yè)面中列出所有控件
的驗(yàn)證錯(cuò)誤驗(yàn)證控件概述在Web窗體中驗(yàn)證控件可以與HTML服務(wù)器控件和Web服務(wù)器控件一起使用。通過使用驗(yàn)證控件,可以向Web窗體添加輸入驗(yàn)證功能。驗(yàn)證控件為所有常用類型的標(biāo)準(zhǔn)驗(yàn)證提供了一種易于使用的機(jī)制,并提供了自定義編寫驗(yàn)證的方法,此外還允許完全自定義如何向用戶顯示錯(cuò)誤信息。 通過向Web窗體添加驗(yàn)證控件,可以啟用對(duì)用戶輸入的驗(yàn)證。RequiredFieldValidator控件RequiredFieldValidator控件用于計(jì)算輸入控件的值以確保用戶輸入值。該控件通常放在要驗(yàn)證的控件旁邊。聲明RequiredFieldValidator控件的語(yǔ)法如下:
<asp:RequiredFieldValidatorid=“編程標(biāo)識(shí)符”
ControlToValidate="要驗(yàn)證的控件" ErrorMessage=“錯(cuò)誤信息”ForeColor=“值”BackColor=“值”…display=“static|dymatic|none”runat="server"> </asp:RequiredFieldValidator>使用RequiredFieldValidator控件可以使輸入控件成為強(qiáng)制字段。使用RequiredFieldValidator控件可以阻止輸入某個(gè)值。在默認(rèn)情況下,驗(yàn)證控件的初始值(InitialValue屬性)為空字符串(“”),這指示必須在輸入控件中輸入值才能通過驗(yàn)證。例如:沒有輸入值嵌入錯(cuò)誤消息<asp:requiredfieldvalidatorcontroltovalidate="txtName"display="static"errormessage="必須輸入姓名!"runat=server/><br><br><center><asp:buttonid=btnSubmittext="提交"runat=server/></center>RequiredFieldValidatorCompareValidator控件CompareValidator控件將輸入控件的值與常數(shù)值或其他輸入控件的值進(jìn)行比較,以確定這兩個(gè)值是否與由比較運(yùn)算符指定的關(guān)系相匹配。聲明CompareValidator控件的語(yǔ)法如下:
<asp:CompareValidatorid=“編程標(biāo)識(shí)符”
ControlToValidate="要驗(yàn)證的控件"ValueToCompare=“要比較的常數(shù)值”
ControlToCompare=“要比較的控件”
Type=“數(shù)據(jù)類型”O(jiān)perator=“比較方式”
ErrorMessage=“錯(cuò)誤信息”runat="server"> </asp:CompareValidator>CompareValidator控件根據(jù)一個(gè)值對(duì)用戶的輸入進(jìn)行驗(yàn)證依據(jù)另一個(gè)控件的值對(duì)用戶的輸入驗(yàn)證將一個(gè)字段與日期數(shù)據(jù)類型進(jìn)行比較將一個(gè)字段與整形數(shù)據(jù)類型進(jìn)行比較※使用operator=datatypecheck和type屬性使用一個(gè)比較運(yùn)算符※使用operator=greaterthan和type\valuetocompare屬性RangeValidator控件RangeValidator控件用于計(jì)算輸入控件的值,以確定該值是否在指定的上限與下限之間。聲明語(yǔ)法如下:
<asp:RangeValidatorid="編程標(biāo)識(shí)符" ControlToValidate="要驗(yàn)證的控件" MinimumValue="上限"MaximumValue="下限" Type=“數(shù)據(jù)類型”ErrorMessage=“錯(cuò)誤信息”
runat="server"> </asp:RangeValidator>RangeValidator<asp:rangevalidatorcontroltovalidate="txtAge"type="Integer"minimumvalue="18"maximumvalue="58"errormessage="您的年齡必須在18-58歲范圍內(nèi)"display="dynamic"runat="server"></asp:rangevalidator>指定控件值范圍RegularExpressionValidator控件RegularExpressionValidator控件用于計(jì)算輸入控件的值,以確定該值是否與某個(gè)正則表達(dá)式定義的模式相匹配。聲明語(yǔ)法如下:<asp:RegularExpressionValidatorid="編程標(biāo)識(shí)符"ControlToValidate=“要驗(yàn)證的控件”
ValidationExpression="正則表達(dá)式"ErrorMessage="錯(cuò)誤信息"…runat="server"></asp:RegularExpressionValidator>RegularExpressionValidator2-1Sign含義^指定檢查開始處$指定檢查結(jié)束處[]檢查輸入的值是否與方括號(hào)中的字符之一相匹配\w允許輸入任何值\d{}“\d”指定輸入的值是一個(gè)數(shù)字,{}表示已指定數(shù)據(jù)類型的出現(xiàn)次數(shù)+表明一個(gè)或多個(gè)元素將被添加到正在檢查的表達(dá)式RegularExpressionValidator2-2<asp:regularexpressionvalidatorcontroltovalidate="txtEmailid"display="static"validationexpression="^[\w-]+@[\w-]+\.(com|net|org|edu|mil)$"runat=server>電子郵件ID格式不正確
</asp:RegularExpressionValidator>驗(yàn)證電子郵件IDCustomValidator控件CustomValidator控件用于計(jì)算輸入控件的值,以確定它是否通過自定義的驗(yàn)證邏輯。聲明語(yǔ)法如下:<asp:CustomValidatorid="編程標(biāo)識(shí)符"ControlToValidate="要驗(yàn)證的服務(wù)器控件的編程標(biāo)識(shí)符"ClientValidationFunction="ClientValidateID"OnServerValidate="S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年橋梁疲勞評(píng)估的現(xiàn)代方法
- 英語(yǔ)四年級(jí)期末聽力練習(xí)
- 施工現(xiàn)場(chǎng)防火技術(shù)方案(三)
- 大體積混凝土施工方案
- 高層建筑結(jié)構(gòu)課程設(shè)計(jì)案例分析
- 2026年電氣設(shè)備采購(gòu)的財(cái)務(wù)分析
- 2026年電氣行業(yè)的響應(yīng)速度與市場(chǎng)適應(yīng)性
- 鐵路線路加固施工技術(shù)方案
- 電力系統(tǒng)安全生產(chǎn)課件
- 2026年電氣傳動(dòng)系統(tǒng)的多變量控制技術(shù)
- 外貿(mào)三方協(xié)議出口合同
- 物業(yè)員工交通安全培訓(xùn)
- 碳積分交易平臺(tái)市場(chǎng)分析報(bào)告
- 半導(dǎo)體物理-課件 -第9章 半導(dǎo)體異質(zhì)結(jié)構(gòu)
- 國(guó)網(wǎng)培訓(xùn)課件
- 2026屆高考物理一輪復(fù)習(xí)策略講座
- 汽車電池回收知識(shí)培訓(xùn)班課件
- 2025貴州盤江煤電集團(tuán)醫(yī)院招聘68人備考題庫(kù)及答案解析
- 腫瘤科進(jìn)修匯報(bào)護(hù)理課件
- 腦電圖外出進(jìn)修后回院匯報(bào)
- 優(yōu)惠利率實(shí)施方案(3篇)
評(píng)論
0/150
提交評(píng)論