vs新版7章節課件_第1頁
vs新版7章節課件_第2頁
vs新版7章節課件_第3頁
vs新版7章節課件_第4頁
vs新版7章節課件_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

主講教師:本課學時:聯系方式:C#程序設計教程笫七章Web應用程序開發

本章主要內容介紹

7.1ASP.NET簡介

7.2使用ASP.NET控件

7.3小結CONTENT1.1

初識C#

本章學習目標:了解ASP.NET的特點了解服務器控件及其語法掌握各種標準服務器控件的屬性熟悉各種標準服務器的使用ASP.NET之前出現的動態語言產品是ASP,ASP的出現給WEB的開發帶來了一次革新,由于ASP能夠將代碼直接嵌入HTML,使設計Web頁面變的非常簡單、更強大,并且通過內置的組件能夠實現強大的功能,最明顯的就是ActiveXDataObjects(ADO)使建立一個動態頁面非常簡單。ASP.NET并不是ASP的簡單升級,而是Microsoft推出的新一代ActiveServerPages。ASP.NET是微軟發展的新體系結構.NET的一部分,其中全新的技術架構會讓編程變得更加簡單。本節將介紹ASP.NET應用程序開發中用到的控件以及其他知識。7.1ASP.NET簡介

編輯ASP.NET程序

編輯ASP.NET程序編輯ASP.NET程序ASP.NET程序結構

ASP.NET的應用程序通常是由一個或多個ASP.NET頁或者Web窗體代碼文件以及配置文件構成。Web窗體容納在一個.aspx文件中,它實際上是一個HTML文件,其中包含一些.Net的特殊標記。ASP.NET中的文件類型

文件擴展名用途及說明Global.asaxASP.NET系統環境設置文件,相當與ASP中的Global.asa。.aspx內含ASP程序代碼的文件,如同過去的.asp,瀏覽器可執行此類文件,向服務器提出瀏覽請求.asmx制作WebService的原始文件.sdl制作WebService的XML格式的文件Vb或.cs在非ASP.NET環境下,執行WebService的文件.aspc可重覆使用在多個.aspx的文件,此文件內可含有控件.ascx內含UserControl的文件,可內含在多個.aspx文件中

ASP.NET的特點

生產力:通過現有的或新引入的ASP.NET服務器控件,開發者創建ASP.NETWeb頁面和應用程序的過程將變得更加簡單高效。包括成員關系,個性化,以及外觀主題在內的新特征可以提供系統級別的功能服務,通常實現這些服務需要開發大量代碼。核心開發方案,特殊數據等被封裝到了新的數據控制,非編碼綁定,以及智能數據顯示控件中。

靈活性和可擴展性:

ASP.NET大部分特征都可擴展,開發者很容易地將自定義特征合并到應用程序中去。至于什么是ASP.NET提供者模型,其實是對不同的數據源提供可插入支持。

ASP.NET的特點

性能:通過預編譯,可配置的高速緩存,以及SQL語句高速緩存等特征實現Web應用程序的優化。安全:在Web應用程序中添加驗證和許可更加容易。宿主:簡化宿主環境的管理,并且為宿主程序實時添加內容創造更多的機會。

完整性:新舊特征一起協調合作,使開發者能夠創建終極方案,向面向真實世界的Web開發發起挑戰。

7.2使用ASP.NET控件

常用控件的分類標準控件,服務器端控件頁代碼形式<asp:>…</asp>

導航控件,Menu,SiteMap,TreeView

數據控件,數據訪問控件驗證控件,驗證用戶輸入

HTML控件,與標準的Html表單元素一一對應,可以同時在客戶端和服務器端使用,在服務器端使用時其屬性標記中加上runat=“server”。TextBox控件

TextBox控件用來提供一個輸入框,這個輸入框默認是輸入單行文本的,但是我們可以設置它的TextMode屬性來控制輸入框的形式。它可以是以下三個值:

TextMode="SingleLine":用來輸入單行文本

TextMode="Password":用來輸入密碼

TextMode="MultiLine":用來輸入多行文本

用TextBox控件實現文本輸入

<%@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控件實現文本輸入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控件實現文本輸入Button控件

Button控件用于顯示按鈕。按鈕可以是提交按鈕或命令按鈕。默認地,該控件是提交按鈕。提交按鈕沒有命令名稱,在它被點擊時它會把網頁傳回服務器。可以編寫事件句柄來控制提交按鈕被點擊時執行的動作。命令按鈕擁有命令名稱,且允許您在頁面上創建多個按鈕控件。可以編寫事件句柄來控制命令按鈕被點擊時執行的動作。Button控件屬性

CausesValidation規定當Button被點擊時是否驗證頁面。

CommandArgument有關要執行的命令的附加信息。

CommandName與Command相關的命令。

OnClientClick當按鈕被點擊時被執行的函數的名稱。

PostBackUrl當Button控件被點擊時從當前頁面傳送數據的目標頁面URL。

runat規定該控件是服務器控件。必須設置為“server”。

Text按鈕上的文本。

UseSubmitBehavior一個值,該值指示Button控件使用瀏覽器的提交機制,還是使用ASP.NET的postback機制。

ValidationGroup當Button控件回傳服務器時,該Button所屬的哪個控件組引發了驗證。用Button控件實現按鈕

<%@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控件實現按鈕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控件實現按鈕HyperLink控件

功能:是一個超鏈接控件,使用它可以在網頁中設置一個超鏈接。在程序中,通過修改其相關屬性,可以實現動態地更改鏈接文本或目標網址。HyperLink控件屬性text屬性:用于獲取或設置按鈕上所顯示的文本。Imageurl屬性:用于指定一個圖像文件,圖像文件使Hyperlink控件的外觀顯示為一張圖。如果同時設置了text屬性和Imageurl屬性,則ImageUrl屬性優先;如果圖片不可用,則顯示text屬性中的文本。NavigateUrl屬性:用于指定單擊HyperLink控件時要鏈接到的目標地址。該地址可以是完整的URL地址,也可以是相對地址。HyperLink控件屬性Target屬性:如果網頁中設置了框架頁,可通過該屬性來指定目標頁顯示的位置,將Web頁內容加載到指定的窗口或框架中。常用的設置值及意義如下:_Blank:將新網頁的內容加載到一個新的不帶框架的窗口中;_Self:將新頁的內容加載到當前的窗口或框架中;_Parent:將新頁的內容加載到父框架中;用HyperLink控件實現超鏈接<%@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">點擊</asp:HyperLink>

</div></form></body></html>用HyperLink控件實現超鏈接用HyperLink控件實現超鏈接DropDownList控件dropDownList控件是一個相對比較簡單的數據綁定控件,它在客戶端被解釋成<select></select>這樣的HTML標記,也就是只能有一個選項處于選中狀態。

DropDownList控件屬性

AutoPostBack屬性:這個屬性的用法在講述基本控件的時候已經講過,是用來設置當下拉列表項發生變化時是否主動向服務器提交整個表單,默認是false,即不主動提交。如果設置為true,就可以編寫它的SelectedIndexChanged事件處理代碼進行相關處理(注意:如果此屬性為false即使編寫了SelectedIndexChanged事件處理代碼也不會馬上起作用)。

DataTextField屬性:設置列表項的可見部分的文字。

DropDownList控件屬性DataValueField屬性:設置列表項的值部分。

Items屬性:獲取控件的列表項的集合。

SelectedIndex屬性:獲取或設置DropDownList控件中的選定項的索引。

SelectedItem屬性:獲取列表控件中索引最小的選定項。

SelectedValue屬性:取列表控件中選定項的值,或選擇列表控件中包含指定值的項。

用DropDownList實現列表

<%@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實現列表

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的選擇事件,同時要修改autopostback的值為true,此事件才有效,

//但是不建議修改,因為這樣增加了服務器的壓力

Label5.Text=DropDownList1.SelectedValue.ToString();}}用DropDownList實現列表

ListBox控件

ListBox控件和DropDownList控件非常類似,ListBox控件是也是提供一組選項供用戶選擇的,只不過DropDownList控件只能有一個選項處于選中狀態,并且每次只能顯示一行(一個選項),而ListBox控件可以設置為允許多選,并且還可以設置為顯示多行。

ListBox控件屬性除了與DropDownList具有很多相似的屬性之外,ListBox控件還有以下屬性:Rows屬性:設置ListBox控件顯示的行數。SelectionMode屬性:設置ListBox的選擇模式,這是一個枚舉值,它有Multiple和Single兩個值,分別代表多選和單選,默認是Single,即同時只能有一個選項處于選中狀態。如果要想實現多選,除了設置SelectionMode屬性為Multiple外,在選擇時需要按住Ctrl鍵。需要說明的是,因為ListBox允許多選,所以如果ListBox的SelectionMode屬性為Multiple,那么SelectedIndex屬性指的是被選中的選項中索引最小的那一個,SelectedValue屬性指的是被選中的選項集合中索引最小的那一個的值。用ListBox實現列表

<%@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實現列表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實現列表用ListBox實現列表Menu控件

Menu

控件具有兩種顯示模式:靜態模式和動態模式。靜態顯示意味著Menu

控件始終是完全展開的。整個結構都是可視的,用戶可以單擊任何部位。在動態顯示的菜單中,只有指定的部分是靜態的,而只有用戶將鼠標指針放置在父節點上時才會顯示其子菜單項。

Menu控件靜態顯示使用Menu

控件的StaticDisplayLevels屬性可控制靜態顯示行為。StaticDisplayLevels

屬性指示從根菜單算起,靜態顯示的菜單的層數。例如,如果將StaticDisplayLevels

設置為3,菜單將以靜態顯示的方式展開其前三層。靜態顯示的最小層數為1,如果將該值設置為0或負數,該控件將會引發異常。Menu控件動態顯示MaximumDynamicDisplayLevels屬性指定在靜態顯示層后應顯示的動態顯示菜單節點層數。例如,如果菜單有3個靜態層和2個動態層,則菜單的前三層靜態顯示,后兩層動態顯示。如果將MaximumDynamicDisplayLevels

設置為0,則不會動態顯示任何菜單節點。如果將MaximumDynamicDisplayLevels

設置為負數,則會引發異常。Menu控件定義菜單內容您可以通過兩種方式來

溫馨提示

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

評論

0/150

提交評論