




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章ASP.NET開發基礎
ASP.NET是由Microsoft公司推出的新一代Web開發架構,并且作為Web開發的直接承載者,繼承了微軟一貫的風格—簡單、易用。它集成了ASP和.NET兩套技術,為網頁開發提供了一條新的途徑。
ASP.NET的語法中定義了ASP.NET網頁的結構、布局和設置,用戶還可以定義ASP.NET服務器控件、應用程序代碼、應用程序配置和XMLWebServices的布局。本章將詳細介紹ASP.NET的網頁語法,以及如何制作一個ASP.NET網站。2.1學習ASP.NET網頁語法2.1.1ASP.NET網頁擴展名
ASP.NET的任何功能都可在具有適當文件擴展名的文本文件中創建。可以把ASP.NET網頁擴展名理解為ASP.NET文件的“身份證”,不同的擴展名決定了不同文件的類型和作用。通過IIS將文件擴展名映射到ASP.NET運行處理。文件類型位置說明.asax應用程序根目錄通常是Global.asax文件。該文件包含從HttpApplication類派生并表示該應用程序的代碼.ascx應用程序的根目錄或子目錄Web用戶控件文件,該文件是自定義的可重復使用的用戶控件.asmx應用程序的根目錄或子目錄XMLWebServices文件。該文件包含通過SOAP方式可用于其他Web應用程序的類和方法.aspx應用程序的根目錄或子目錄ASP.NETWeb窗體文件。該文件可包含Web控件和其他業務邏輯.browserApp_Browsers子目錄瀏覽器定義文件。用于標識客戶端瀏覽器的啟用功能.compileBin子目錄預編譯的stub(存根)文件。該文件指向相應的程序集,可執行文件類型(.aspx、.ascx、.master、主題文件)已經預編譯并放在Bin子目錄下.config應用程序的根目錄或子目錄通常是Web.config配置文件,該文件包含其設置配置各種ASP.NET功能的XML元素表2.1 ASP.NET網頁擴展名文件類型位置說明.cs、.jsl、.vbApp_Code子目錄;但如果是ASP.NET頁的代碼隱藏文件,則與網頁位于同一目錄運行時要編譯的類源代碼文件。類可以是HTTP模塊、HTTP處理程序,或者是ASP.NET頁HTTP處理程序介紹的代碼隱藏文件.dllBin子目錄已編譯的類庫文件.master應用程序的根目錄或子目錄母版頁。定義應用程序中引用母版頁的其他網頁的布局.sitemap應用程序的根目錄站點地圖文件。該文件包含網站的結構。ASP.NET中附帶了一個默認的站點地圖提供程序,它使用站點地圖文件可以很方便地在網頁上顯示導航控件.skinApp_Themes子目錄用于確定顯示格式的外觀文件.slnVisualWebDeveloper項目目錄VisualWebDeveloper項目的解決方案文件.css應用程序根目錄或子目錄,或App_Themes子目錄用于確定HTML元素格式的樣式表文件續表圖2.1擴展名為.aspx和.cs的文件2.1.2什么是頁面指令
ASP.NET頁面中通常包含一些類似于<%@…%>這樣的代碼,被稱為頁面指令。這些指令允許為相應頁指定頁屬性和配置信息,并由ASP.NET用作處理頁面的指令,但不作為發送到瀏覽器標記的一部分呈現。當使用頁面指令時,雖然標準的做法是將指令包括在文件的開頭,但是它們也可以位于.aspx或.ascx文件的任何位置。
每個指令都可以包含一個或多個特定屬性(與值成對出現)。2.1.3頁面指令種類與作用指令作用@Page定義ASP.NET頁分析器和編譯器使用的頁(.aspx文件)特定屬性@Import將命名空間顯示導入到頁中,使所導入的命名空間的所有類和接口可用于該頁。導入的命名空間可以是.NETFramework類庫或用戶自定義的命名空間的一部分@OutputCache以聲明的方式控制ASP.NET頁或頁中包含的用戶控件的輸出緩存策略@Implements指示當前或用戶實現指定的.NETFramework接口@Register將別名與命名空間及類名關聯起來,以便在自定義服務器控件語法中使用簡明的表示法@Assembly在編譯過程中將程序集鏈接到當前頁,以使程序集的所有類和接口都可用在該頁上表2.2 ASP.NET頁面指令指令作用@Control定義ASP.NET頁分析器和編譯器使用的用戶控件(.ascx文件)特定屬性。該指令只能用于用戶控件@Master標識ASP.NET母版頁@MasterType為ASP.NET頁的Master屬性分配類名,使該頁可以獲取對母版頁成員的強類型引用@PreviousPageType提供用于獲得上一頁的強類型的方法,可通過PreviousPage屬性訪問上一頁@Reference以聲明的方式指示,應該根據在其中聲明此指令的頁對另一個用戶控件或頁源文件進行動態編譯和鏈接續表1.@Page指令
@Page指令允許開發人員為頁面指定多個配置選項,并且該指令只能在Web窗體頁中使用。每個.aspx文件只能包含一條@Page指令。
@Page指令可以指定:頁面中代碼的服務器編程語言;頁面是將服務器代碼直接包含在其中(即單文件頁面),還是將代碼包含在單獨的類文件中(即代碼隱藏頁面);調試和跟蹤選項,以及頁面是否為某母版頁的內容頁。語法:<%@Pageattribute="value"[attribute="value"...]%>(1)AutoEventWireup屬性(2)CodeFile屬性(3)Language屬性2.@Import指令
@Import指令用于將命名空間顯式導入到ASP.NET應用程序文件中,并且導入該命名空間的所有類和接口。導入的命名空間可以是.NETFramework類庫的一部分,也可以是用戶定義的命名空間的一部分。語法:
<%@Importnamespace="value"%>在ASP.NET2.0中命名空間是默認導入的,默認導入的空間如下:(1)System
(2)System.Collections
(3)System.Collections.Specialized
(4)System.Configuration(5)System.IO(6)System.Text(7)System.Text.RegularExpressions(8)System.Web(9)System.Web.Caching(10)System.Web.Profile(11)System.Web.Security(12)System.Web.SessionState(13)System.Web.UI(14)System.Web.UI.HtmlControls(15)System.Web.UI.WebControls(16)System.Web.UI.WebControls.WebParts3.@OutputCache指令
@OutputCache指令用于以聲明的方式控制ASP.NET頁或頁中包含的用戶控件的輸出緩存策略。頁輸出緩存就是在內存中存儲處理后的ASP.NET頁的內容。這一機制允許ASP.NET向客戶端發送頁響應,而不必再次經過頁處理生命周期。頁輸出緩存的語法:
%@OutputCacheattribute="value"[attribute="value"...]%
(1)Duration屬性(2)VaryByParam屬性4.@Implements指令
@Implements指令用來定義要在頁或用戶控件中實現的接口。語法:
<%@Implementsinterface="value"%>5.@Register指令
@Register指令創建標記前綴和自定義控件之間的關聯,這為開發人員提供了一種在ASP.NET應用程序文件(包括網頁、用戶控件和母版頁)中引用自定義控件的簡單方法。語法://第一種<%@Registertagprefix="tagprefix"namespace="namespace"assembly="assembly"%>//第二種<%@Registertagprefix="tagprefix"namespace="namespace"%>//第三種<%@Registertagprefix="tagprefix"tagname="tagname"src="pathname"%>6.@Assembly指令
@Assembly指令用于在編譯時將程序集鏈接到頁面,這使得開發人員可以使用程序集公開的所有類和方法等。語法://第一種<%@AssemblyName="assemblyname"%>//第二種<%@AssemblySrc="pathname"%>7.@Control指令
@Control指令與@Page指令基本相似。在.aspx文件中包含了@Page指令;在.ascx文件中不包含@Page指令,該文件中包含@Control指令。該指令只能用于用戶控件中。用戶控件在帶有.ascx擴展名的文件中進行定義。每個.ascx文件只能包含一條@Control指令。此外,對于每個@Control指令,只允許定義一個Language屬性,因為每個控件只能使用一種語言。語法:<%@Controlattribute="value"[attribute="value"...]%>8.@Master指令
@Master指令只能在母版頁的.master文件中使用,用于標識ASP.NET母版頁。每個.master文件只能包含一條@Master指令。語法:
<%@Masterattribute="value"[attribute="value"...]%>9.@MasterType指令
@MasterType指令為ASP.NET頁的Master屬性分配類名,使得該頁可以獲取對母版頁成員的強類型引用。語法:
<%@MasterTypeattribute="value"[attribute="value"...]%>10.@PreviousPageType指令
@PreviousPageType指令為ASP.NET頁提供用于獲得上一頁的強類型的方法,可通過PreviousPage屬性訪問上一頁。該指令只能在Web窗體頁(.aspx文件)上使用。語法:
<%@PreviousPageTypeattribute="value"[attribute="value"...]%>11.@Reference指令
@Reference指令以聲明的方式將網頁、用戶控件或COM控件鏈接至目前的網頁或用戶控件。使用此指令可以動態編譯與生成提供程序關聯的頁面、用戶控件或另一個類型的文件,并將其鏈接到包含@Reference指令的當前網頁、用戶控件或母版頁文件。這樣就可以從當前文件內部引用外部編譯的對象及其公共成員。語法:
<%@ReferencePage="value"Control="value"virtualPath="value"%>2.1.4注釋ASPX文件中的代碼服務器端注釋(<%--注釋內容--%>)允許開發人員在ASP.NET應用程序文件的任何部分(除了<script>代碼塊內部)嵌入代碼注釋。服務器端注釋元素的開始標記和結束標記之間的任何內容,不管是ASP.NET代碼還是文本,都不會在服務器上進行處理或呈現在結果頁上。2.1.5ASP.NET服務器控件語法
ASP.NET服務器控件比HTML服務器控件具有更多內置功能。
Web服務器控件不僅包括窗體控件(例如按鈕和文本框),而且還包括特殊用途的控件(例如日歷、菜單和樹視圖控件)。
Web服務器控件與HTML服務器控件相比更為抽象,因為其對象模型不一定反映HTML語法。語法:
<asp:控件名ID="名稱"…組件的其他屬性…runat="server"/>圖2.2服務器控件語法舉例2.1.6網頁中的代碼塊語法代碼塊語法是定義網頁呈現時所執行的內嵌代碼。定義內嵌代碼的語法標記元素為:
<%內嵌代碼%>圖2.3代碼塊語法舉例2.1.7網頁中的表達式語法定義內嵌表達式,使用的語法標記元素為:
<%=內嵌表達式%>圖2.4表達示語法舉例2.2制作一個簡單的ASP.NET網站2.2.1創建ASP.NET網站圖2.5創建網站圖2.6“新建網站”對話框圖2.7Web窗體布局2.2.2設計Web頁面圖2.8“設計”視圖圖2.9“源”視圖2.2.3添加ASP.NET網站資源文件夾
ASP.NET應用程序包含7個默認文件夾,分別為Bin文件夾、App_Code文件夾、App_GlobalResources文件夾、App_LocalResources文件夾、App_WebReferences文件夾、App_Browsers文件夾、App_Themes文件夾。每個文件夾都存放ASP.NET應用程序的不同類型的資源。具體說明如表2.9所示。文件夾說明Bin包含程序所需的所有已編譯程序集(.dll文件)。應用程序中自動引用Bin文件夾中的代碼所表示的任何類App_Code包含頁使用的類(例如.cs、.vb和.jsl文件)的源代碼App_GlobalResources包含編譯到具有全局范圍的程序集中的資源(.resx和.resources文件)App_LocalResources包含與應用程序中的特定頁、用戶控件或母版頁關聯的資源(.resx和.resources文件)App_WebReferences包含用于定義在應用程序中使用的Web引用的引用協定文件(.wsdl文件)、架構(.xsd文件)和發現文檔文件(.disco和.discomap文件)App_Browsers包含ASP.NET用于標識個別瀏覽器并確定其功能的瀏覽器定義(.browser)文件App_Themes包含用于定義ASP.NET
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年法學院研究生入學考試試題及答案
- 學生安全責任規定
- 新聞傳媒產業趨勢研究練習題集
- 2025年炸藥、煙火及火工產品項目申請報告
- 食品配送與包裝技術研發合作協議
- 2025年鉗型表項目申請報告
- 企業人才中介服務協議
- 2025年單證員職業資格考試試卷單證員職業發展前景分析
- 2025年磁粉離合器項目提案報告
- 2025年武漢市事業單位招聘考試綜合類專業能力測試試卷(財務類)
- Unit 2 Home Sweet Home 第6課時(Project Reading Plus) 2025-2026學年人教版英語八年級下冊
- 餐飲連鎖企業品牌授權與經營管理協議
- 2025-2030年中國生物醫學材料行業市場深度分析及發展前景與投資研究報告
- 2025年小學語文一年級下冊無紙筆測試題(小學一年級游園樂考無紙化檢測)
- 2025至2030中國彈簧鋼行業產業運行態勢及投資規劃深度研究報告
- 2025年地理中考時政熱點復習課件
- 北京市2024年高招本科普通批錄取投檔線
- DB32-T 5088-2025 廢活性炭綜合利用污染控制技術規范
- 2024-2025學年人教版數學八年級下冊期末復習卷(含解析)
- 城市通信基站建設對周邊居民影響風險評估報告
- 美容院洗滌協議書
評論
0/150
提交評論