




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主講教師:本課學(xué)時(shí):聯(lián)系方式:C#程序設(shè)計(jì)教程笫七章Web應(yīng)用程序開(kāi)發(fā)
本章主要內(nèi)容介紹
7.1ASP.NET簡(jiǎn)介
7.2使用ASP.NET控件
7.3小結(jié)CONTENT1.1
初識(shí)C#
本章學(xué)習(xí)目標(biāo):了解ASP.NET的特點(diǎn)了解服務(wù)器控件及其語(yǔ)法掌握各種標(biāo)準(zhǔn)服務(wù)器控件的屬性熟悉各種標(biāo)準(zhǔn)服務(wù)器的使用ASP.NET之前出現(xiàn)的動(dòng)態(tài)語(yǔ)言產(chǎn)品是ASP,ASP的出現(xiàn)給WEB的開(kāi)發(fā)帶來(lái)了一次革新,由于ASP能夠?qū)⒋a直接嵌入HTML,使設(shè)計(jì)Web頁(yè)面變的非常簡(jiǎn)單、更強(qiáng)大,并且通過(guò)內(nèi)置的組件能夠?qū)崿F(xiàn)強(qiáng)大的功能,最明顯的就是ActiveXDataObjects(ADO)使建立一個(gè)動(dòng)態(tài)頁(yè)面非常簡(jiǎn)單。ASP.NET并不是ASP的簡(jiǎn)單升級(jí),而是Microsoft推出的新一代ActiveServerPages。ASP.NET是微軟發(fā)展的新體系結(jié)構(gòu).NET的一部分,其中全新的技術(shù)架構(gòu)會(huì)讓編程變得更加簡(jiǎn)單。本節(jié)將介紹ASP.NET應(yīng)用程序開(kāi)發(fā)中用到的控件以及其他知識(shí)。7.1ASP.NET簡(jiǎn)介
編輯ASP.NET程序
編輯ASP.NET程序編輯ASP.NET程序ASP.NET程序結(jié)構(gòu)
ASP.NET的應(yīng)用程序通常是由一個(gè)或多個(gè)ASP.NET頁(yè)或者Web窗體代碼文件以及配置文件構(gòu)成。Web窗體容納在一個(gè).aspx文件中,它實(shí)際上是一個(gè)HTML文件,其中包含一些.Net的特殊標(biāo)記。ASP.NET中的文件類型
文件擴(kuò)展名用途及說(shuō)明Global.asaxASP.NET系統(tǒng)環(huán)境設(shè)置文件,相當(dāng)與ASP中的Global.asa。.aspx內(nèi)含ASP程序代碼的文件,如同過(guò)去的.asp,瀏覽器可執(zhí)行此類文件,向服務(wù)器提出瀏覽請(qǐng)求.asmx制作WebService的原始文件.sdl制作WebService的XML格式的文件Vb或.cs在非ASP.NET環(huán)境下,執(zhí)行WebService的文件.aspc可重覆使用在多個(gè).aspx的文件,此文件內(nèi)可含有控件.ascx內(nèi)含UserControl的文件,可內(nèi)含在多個(gè).aspx文件中
ASP.NET的特點(diǎn)
生產(chǎn)力:通過(guò)現(xiàn)有的或新引入的ASP.NET服務(wù)器控件,開(kāi)發(fā)者創(chuàng)建ASP.NETWeb頁(yè)面和應(yīng)用程序的過(guò)程將變得更加簡(jiǎn)單高效。包括成員關(guān)系,個(gè)性化,以及外觀主題在內(nèi)的新特征可以提供系統(tǒng)級(jí)別的功能服務(wù),通常實(shí)現(xiàn)這些服務(wù)需要開(kāi)發(fā)大量代碼。核心開(kāi)發(fā)方案,特殊數(shù)據(jù)等被封裝到了新的數(shù)據(jù)控制,非編碼綁定,以及智能數(shù)據(jù)顯示控件中。
靈活性和可擴(kuò)展性:
ASP.NET大部分特征都可擴(kuò)展,開(kāi)發(fā)者很容易地將自定義特征合并到應(yīng)用程序中去。至于什么是ASP.NET提供者模型,其實(shí)是對(duì)不同的數(shù)據(jù)源提供可插入支持。
ASP.NET的特點(diǎn)
性能:通過(guò)預(yù)編譯,可配置的高速緩存,以及SQL語(yǔ)句高速緩存等特征實(shí)現(xiàn)Web應(yīng)用程序的優(yōu)化。安全:在Web應(yīng)用程序中添加驗(yàn)證和許可更加容易。宿主:簡(jiǎn)化宿主環(huán)境的管理,并且為宿主程序?qū)崟r(shí)添加內(nèi)容創(chuàng)造更多的機(jī)會(huì)。
完整性:新舊特征一起協(xié)調(diào)合作,使開(kāi)發(fā)者能夠創(chuàng)建終極方案,向面向真實(shí)世界的Web開(kāi)發(fā)發(fā)起挑戰(zhàn)。
7.2使用ASP.NET控件
常用控件的分類標(biāo)準(zhǔn)控件,服務(wù)器端控件頁(yè)代碼形式<asp:>…</asp>
導(dǎo)航控件,Menu,SiteMap,TreeView
數(shù)據(jù)控件,數(shù)據(jù)訪問(wèn)控件驗(yàn)證控件,驗(yàn)證用戶輸入
HTML控件,與標(biāo)準(zhǔn)的Html表單元素一一對(duì)應(yīng),可以同時(shí)在客戶端和服務(wù)器端使用,在服務(wù)器端使用時(shí)其屬性標(biāo)記中加上runat=“server”。TextBox控件
TextBox控件用來(lái)提供一個(gè)輸入框,這個(gè)輸入框默認(rèn)是輸入單行文本的,但是我們可以設(shè)置它的TextMode屬性來(lái)控制輸入框的形式。它可以是以下三個(gè)值:
TextMode="SingleLine":用來(lái)輸入單行文本
TextMode="Password":用來(lái)輸入密碼
TextMode="MultiLine":用來(lái)輸入多行文本
用TextBox控件實(shí)現(xiàn)文本輸入
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><headrunat="server"><title>UntitledPage</title></head><body><formid="form1"runat="server"><div>
</div><asp:TextBoxID="TextBox1"runat="server"></asp:TextBox></form></body></html>用TextBox控件實(shí)現(xiàn)文本輸入usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){TextBox1.Text="快下課了";}}用TextBox控件實(shí)現(xiàn)文本輸入Button控件
Button控件用于顯示按鈕。按鈕可以是提交按鈕或命令按鈕。默認(rèn)地,該控件是提交按鈕。提交按鈕沒(méi)有命令名稱,在它被點(diǎn)擊時(shí)它會(huì)把網(wǎng)頁(yè)傳回服務(wù)器??梢跃帉懯录浔鷣?lái)控制提交按鈕被點(diǎn)擊時(shí)執(zhí)行的動(dòng)作。命令按鈕擁有命令名稱,且允許您在頁(yè)面上創(chuàng)建多個(gè)按鈕控件??梢跃帉懯录浔鷣?lái)控制命令按鈕被點(diǎn)擊時(shí)執(zhí)行的動(dòng)作。Button控件屬性
CausesValidation規(guī)定當(dāng)Button被點(diǎn)擊時(shí)是否驗(yàn)證頁(yè)面。
CommandArgument有關(guān)要執(zhí)行的命令的附加信息。
CommandName與Command相關(guān)的命令。
OnClientClick當(dāng)按鈕被點(diǎn)擊時(shí)被執(zhí)行的函數(shù)的名稱。
PostBackUrl當(dāng)Button控件被點(diǎn)擊時(shí)從當(dāng)前頁(yè)面?zhèn)魉蛿?shù)據(jù)的目標(biāo)頁(yè)面URL。
runat規(guī)定該控件是服務(wù)器控件。必須設(shè)置為“server”。
Text按鈕上的文本。
UseSubmitBehavior一個(gè)值,該值指示Button控件使用瀏覽器的提交機(jī)制,還是使用ASP.NET的postback機(jī)制。
ValidationGroup當(dāng)Button控件回傳服務(wù)器時(shí),該Button所屬的哪個(gè)控件組引發(fā)了驗(yàn)證。用Button控件實(shí)現(xiàn)按鈕
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Button.aspx.cs"Inherits="_Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><headrunat="server"><title>UntitledPage</title></head><body><formid="form1"runat="server"><div><asp:ButtonID="Button4"runat="server"onclick="click事件"Text="click事件"/></div></form></body></html>用Button控件實(shí)現(xiàn)按鈕usingSystem;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;publicpartialclass_Default:System.Web.UI.Page{protectedvoidclick事件(objectsender,EventArgse){//按鈕的click事件Buttonbt=(Button)sender;Response.Write("<script>alert('"+bt.ID+"')</script>");}}用Button控件實(shí)現(xiàn)按鈕HyperLink控件
功能:是一個(gè)超鏈接控件,使用它可以在網(wǎng)頁(yè)中設(shè)置一個(gè)超鏈接。在程序中,通過(guò)修改其相關(guān)屬性,可以實(shí)現(xiàn)動(dòng)態(tài)地更改鏈接文本或目標(biāo)網(wǎng)址。HyperLink控件屬性text屬性:用于獲取或設(shè)置按鈕上所顯示的文本。Imageurl屬性:用于指定一個(gè)圖像文件,圖像文件使Hyperlink控件的外觀顯示為一張圖。如果同時(shí)設(shè)置了text屬性和Imageurl屬性,則ImageUrl屬性優(yōu)先;如果圖片不可用,則顯示text屬性中的文本。NavigateUrl屬性:用于指定單擊HyperLink控件時(shí)要鏈接到的目標(biāo)地址。該地址可以是完整的URL地址,也可以是相對(duì)地址。HyperLink控件屬性Target屬性:如果網(wǎng)頁(yè)中設(shè)置了框架頁(yè),可通過(guò)該屬性來(lái)指定目標(biāo)頁(yè)顯示的位置,將Web頁(yè)內(nèi)容加載到指定的窗口或框架中。常用的設(shè)置值及意義如下:_Blank:將新網(wǎng)頁(yè)的內(nèi)容加載到一個(gè)新的不帶框架的窗口中;_Self:將新頁(yè)的內(nèi)容加載到當(dāng)前的窗口或框架中;_Parent:將新頁(yè)的內(nèi)容加載到父框架中;用HyperLink控件實(shí)現(xiàn)超鏈接<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default2.aspx.cs"Inherits="Default2"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><headrunat="server"><title>UntitledPage</title></head><body><formid="form1"runat="server"><div>
<asp:HyperLinkID="HyperLink1"Target="_parent"runat="server"NavigateUrl="~/Default.aspx">點(diǎn)擊</asp:HyperLink>
</div></form></body></html>用HyperLink控件實(shí)現(xiàn)超鏈接用HyperLink控件實(shí)現(xiàn)超鏈接DropDownList控件dropDownList控件是一個(gè)相對(duì)比較簡(jiǎn)單的數(shù)據(jù)綁定控件,它在客戶端被解釋成<select></select>這樣的HTML標(biāo)記,也就是只能有一個(gè)選項(xiàng)處于選中狀態(tài)。
DropDownList控件屬性
AutoPostBack屬性:這個(gè)屬性的用法在講述基本控件的時(shí)候已經(jīng)講過(guò),是用來(lái)設(shè)置當(dāng)下拉列表項(xiàng)發(fā)生變化時(shí)是否主動(dòng)向服務(wù)器提交整個(gè)表單,默認(rèn)是false,即不主動(dòng)提交。如果設(shè)置為true,就可以編寫它的SelectedIndexChanged事件處理代碼進(jìn)行相關(guān)處理(注意:如果此屬性為false即使編寫了SelectedIndexChanged事件處理代碼也不會(huì)馬上起作用)。
DataTextField屬性:設(shè)置列表項(xiàng)的可見(jiàn)部分的文字。
DropDownList控件屬性DataValueField屬性:設(shè)置列表項(xiàng)的值部分。
Items屬性:獲取控件的列表項(xiàng)的集合。
SelectedIndex屬性:獲取或設(shè)置DropDownList控件中的選定項(xiàng)的索引。
SelectedItem屬性:獲取列表控件中索引最小的選定項(xiàng)。
SelectedValue屬性:取列表控件中選定項(xiàng)的值,或選擇列表控件中包含指定值的項(xiàng)。
用DropDownList實(shí)現(xiàn)列表
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Button.aspx.cs"Inherits="_Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><headrunat="server"><title>UntitledPage</title></head><body><formid="form1"runat="server"><div><asp:DropDownListID="DropDownList1"runat="server"AutoPostBack="True"onselectedindexchanged="DropDownList1_SelectedIndexChanged"><asp:ListItem>first</asp:ListItem><asp:ListItem>second</asp:ListItem></asp:DropDownList></div></form></body></html>用DropDownList實(shí)現(xiàn)列表
usingSystem;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){//dropdownlist的用法ListItem[]list=newListItem[2];list[0]=newListItem("third");list[1]=newListItem("forth");DropDownList1.Items.AddRange(list);DropDownList1.Items.RemoveAt(3);}protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse){//dropdownlist的選擇事件,同時(shí)要修改autopostback的值為true,此事件才有效,
//但是不建議修改,因?yàn)檫@樣增加了服務(wù)器的壓力
Label5.Text=DropDownList1.SelectedValue.ToString();}}用DropDownList實(shí)現(xiàn)列表
ListBox控件
ListBox控件和DropDownList控件非常類似,ListBox控件是也是提供一組選項(xiàng)供用戶選擇的,只不過(guò)DropDownList控件只能有一個(gè)選項(xiàng)處于選中狀態(tài),并且每次只能顯示一行(一個(gè)選項(xiàng)),而ListBox控件可以設(shè)置為允許多選,并且還可以設(shè)置為顯示多行。
ListBox控件屬性除了與DropDownList具有很多相似的屬性之外,ListBox控件還有以下屬性:Rows屬性:設(shè)置ListBox控件顯示的行數(shù)。SelectionMode屬性:設(shè)置ListBox的選擇模式,這是一個(gè)枚舉值,它有Multiple和Single兩個(gè)值,分別代表多選和單選,默認(rèn)是Single,即同時(shí)只能有一個(gè)選項(xiàng)處于選中狀態(tài)。如果要想實(shí)現(xiàn)多選,除了設(shè)置SelectionMode屬性為Multiple外,在選擇時(shí)需要按住Ctrl鍵。需要說(shuō)明的是,因?yàn)長(zhǎng)istBox允許多選,所以如果ListBox的SelectionMode屬性為Multiple,那么SelectedIndex屬性指的是被選中的選項(xiàng)中索引最小的那一個(gè),SelectedValue屬性指的是被選中的選項(xiàng)集合中索引最小的那一個(gè)的值。用ListBox實(shí)現(xiàn)列表
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="listbox.aspx.cs"Inherits="listbox"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><headrunat="server"><title>UntitledPage</title></head><body><formid="form1"runat="server"><div>
<asp:ListBoxID="ListBox1"runat="server"onselectedindexchanged="ListBox1_SelectedIndexChanged"AutoPostBack="true">
<asp:ListItemValue="第一位">第一位</asp:ListItem><asp:ListItemValue="第二位">第二位</asp:ListItem><asp:ListItemValue="第三位">第三位</asp:ListItem><asp:ListItemValue="第四位">第四位</asp:ListItem></asp:ListBox><br/><br/><asp:LabelID="Label1"runat="server"Text="Label"></asp:Label>
</div></form></body></html>用ListBox實(shí)現(xiàn)列表usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;publicpartialclasslistbox:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){
}protectedvoidListBox1_SelectedIndexChanged(objectsender,EventArgse){stringmessage="";
foreach(ListItemiteminListBox1.Items){if(item.Selected){message+=item.Text;}}Label1.Text=message;}}用ListBox實(shí)現(xiàn)列表用ListBox實(shí)現(xiàn)列表Menu控件
Menu
控件具有兩種顯示模式:靜態(tài)模式和動(dòng)態(tài)模式。靜態(tài)顯示意味著Menu
控件始終是完全展開(kāi)的。整個(gè)結(jié)構(gòu)都是可視的,用戶可以單擊任何部位。在動(dòng)態(tài)顯示的菜單中,只有指定的部分是靜態(tài)的,而只有用戶將鼠標(biāo)指針?lè)胖迷诟腹?jié)點(diǎn)上時(shí)才會(huì)顯示其子菜單項(xiàng)。
Menu控件靜態(tài)顯示使用Menu
控件的StaticDisplayLevels屬性可控制靜態(tài)顯示行為。StaticDisplayLevels
屬性指示從根菜單算起,靜態(tài)顯示的菜單的層數(shù)。例如,如果將StaticDisplayLevels
設(shè)置為3,菜單將以靜態(tài)顯示的方式展開(kāi)其前三層。靜態(tài)顯示的最小層數(shù)為1,如果將該值設(shè)置為0或負(fù)數(shù),該控件將會(huì)引發(fā)異常。Menu控件動(dòng)態(tài)顯示MaximumDynamicDisplayLevels屬性指定在靜態(tài)顯示層后應(yīng)顯示的動(dòng)態(tài)顯示菜單節(jié)點(diǎn)層數(shù)。例如,如果菜單有3個(gè)靜態(tài)層和2個(gè)動(dòng)態(tài)層,則菜單的前三層靜態(tài)顯示,后兩層動(dòng)態(tài)顯示。如果將MaximumDynamicDisplayLevels
設(shè)置為0,則不會(huì)動(dòng)態(tài)顯示任何菜單節(jié)點(diǎn)。如果將MaximumDynamicDisplayLevels
設(shè)置為負(fù)數(shù),則會(huì)引發(fā)異常。Menu控件定義菜單內(nèi)容您可以通過(guò)兩種方式來(lái)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年網(wǎng)絡(luò)倫理與社會(huì)責(zé)任考試試題及答案
- 2025年設(shè)計(jì)類院校藝術(shù)考試模擬卷及答案
- 2025年媒體與傳播管理考試試題及答案
- 智能監(jiān)控技術(shù)在2025年智慧港口建設(shè)中的應(yīng)用實(shí)施方案報(bào)告
- 特殊快遞安全管理制度
- 特殊物品人員管理制度
- 特殊貨物報(bào)備管理制度
- 特種醫(yī)療設(shè)備管理制度
- 狂犬門診工作管理制度
- 玉米大豆套種管理制度
- 模具保養(yǎng)記錄表
- 形象店加盟管理方案
- 1.《鄭人買履》課件PPT
- T∕ZS 0128-2020 既有建筑結(jié)構(gòu)安全智慧監(jiān)測(cè)技術(shù)規(guī)程
- 發(fā)電機(jī)定子繞組泄漏電流和直流耐壓試驗(yàn)作業(yè)指導(dǎo)書(shū)
- 冀教版小學(xué)美術(shù)六年級(jí)下冊(cè)教案
- 甘肅省生態(tài)功能區(qū)劃
- DB22∕T 1073-2011 綠色淫羊藿生產(chǎn)技術(shù)規(guī)程
- 教練技術(shù)LP三階段教練手冊(cè)
- 國(guó)家開(kāi)放大學(xué)《人文英語(yǔ)3》章節(jié)測(cè)試參考答案
- 鉆孔灌注樁超灌混凝土管理辦法
評(píng)論
0/150
提交評(píng)論