asp chap03網(wǎng)頁代碼模型_第1頁
asp chap03網(wǎng)頁代碼模型_第2頁
asp chap03網(wǎng)頁代碼模型_第3頁
asp chap03網(wǎng)頁代碼模型_第4頁
asp chap03網(wǎng)頁代碼模型_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ASP.NET網(wǎng)頁代碼模型ASP.NET網(wǎng)頁由兩部分組成:可視元素,包括標(biāo)記、服務(wù)器控件和靜態(tài)文本。頁的編程邏輯,包括事件處理程序和其他代碼。ASP.NET提供兩個用于管理可視元素和代碼的模型,即單文件頁模型和代碼隱藏頁模型。這兩個模型功能相同,兩種模型中可以使用相同的控件和代碼。

單文件頁模型在單文件頁模型中,頁的標(biāo)記及其編程代碼位于同一個物理.aspx文件中。編程代碼位于script

塊中,該塊包含runat="server"

屬性,此屬性將其標(biāo)記為ASP.NET應(yīng)執(zhí)行的代碼。下面的代碼示例演示一個單文件頁,此頁中包含一個Button控件。突出顯示的部分顯示的是script

塊中Button控件的Click事件處理程序。<%@PageLanguage="C#"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"""><scriptrunat="server">protectedvoidButton1_Click(objectsender,EventArgse){Button1.Text="您ú點?擊÷了?我ò!?";}</script><htmlxmlns=""><headrunat="server"><title></title></head><body><formid="form1"runat="server"><div><asp:ButtonID="Button1"runat="server"Text="Button"onclick="Button1_Click"/></div></form></body></html>script塊可以包含頁所需的任意多的代碼。代碼可以包含頁中控件的事件處理程序(如該示例所示)、方法、屬性及通常在類文件中使用的任何其他代碼。在運行時,單文件頁被作為從Page類派生的類進行處理。該頁不包含顯式類聲明。但編譯器將生成將控件作為成員包含的新類。(并不是所有的控件都作為頁成員公開;有些控件是其他控件的子控件。)頁中的代碼成了該類的一部分;例如,創(chuàng)建的事件處理程序?qū)⒊蔀榕缮腜age

類的成員。代碼隱藏頁模型通過代碼隱藏頁模型,可以在一個文件(.aspx文件)中保留標(biāo)記,并在另一個文件中保留編程代碼。代碼文件的名稱會根據(jù)所使用的編程語言而有所變化。例如,如果您正在處理名為SamplePage的頁,則對應(yīng)的標(biāo)記位于SamplePage.aspx文件中,而代碼位于SamplePage.aspx.cs(C#)等文件中。在代碼隱藏模型中,前面部分中使用的單文件頁示例分成兩個部分。標(biāo)記位于一個文件中(在本示例中為SamplePage.aspx),并且與單文件頁類似,如下面的代碼示例所示。<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="SamplePage.aspx.cs"Inherits="SamplePage"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"""><htmlxmlns=""><headrunat="server"><title></title></head><body><formid="form1"runat="server"><div>

</div></form></body></html>代碼位于單獨的文件中。下面的代碼示例演示一個Click

事件處理程序的代碼隱藏文件using

System;using

System.Collections.Generic;using

System.Linq;using

System.Web;using

System.Web.UI;using

System.Web.UI.WebControls;public

partial

class

SamplePage:System.Web.UI.Page{

protected

void

Button1_Click(object

sender,EventArgs

e){

Button1.Text

=

"您ú點?擊÷了?我ò!?";}}在單文件模型和代碼隱藏模型之間,.aspx頁有兩處差別:第一個差別:在代碼隱藏模型中,不存在具有runat=“server”

屬性的script

塊。(如果要在頁中編寫客戶端腳本,則該頁可以包含不具有runat=“server”

屬性的script

塊。)第二個差別:代碼隱藏模型中的@Page指令包含引用外部文件SamplePage.aspx.cs)和類的屬性。這些屬性將.aspx頁鏈接至其代碼。代碼隱藏文件包含默認命名空間中的完整類聲明。但是,類是使用partial

關(guān)鍵字進行聲明的,這表明類并不整個包含于一個文件中。而在頁運行時,編譯器將讀取.aspx頁以及它在@

Page

指令中引用的文件,將它們匯編成單個類,然后將它們作為一個單元編譯為單個類。選擇頁模型單文件頁模型和代碼隱藏頁模型功能相同。在運行時,這兩個模型以相同的方式執(zhí)行,而且它們之間沒有性能差異。因此,頁模型的選擇取決于其他因素,例如,要在應(yīng)用程序中組織代碼的方式、將頁面設(shè)計與代碼編寫分開是否重要等等。代碼隱藏頁的優(yōu)點代碼隱藏頁的優(yōu)點使它們適用于包含大量代碼

溫馨提示

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

評論

0/150

提交評論