天天看點

ASP.NET的include的用法

我們學過的Code分離到不同檔案的方法,主要包括:

程式集.dll、<inherits src>.cs、<script src>.cs、使用者控件.ascx、include、Response.WriteFile()

程式集.dll:這是最進階的方法,它引用的是一個被編譯為IL的DLL(程式集)檔案。

<inherits src>.cs:用這種方法,可以先定義一個繼承Page類的新類,再在ASPX/ASCX檔案中加工此類。

<script src>.cs:可以把<script runat=”server”>部分分離到一個新檔案。

使用者控件.ascx:把一段ASP.NET代碼作為一個控件引入。

include:這是今天的主題,詳見下。

Response.WriteFile():他隻能用于引入一段“純用戶端代碼(DHTML)”,擴充名可随意。

實驗項目描述:

我想沒有什麼比一個UI更說明問題了,那麼這是一個什麼頁面呢?

這是一個典型的“上中下”結構的網頁,在實作中:“頁頭/頁腳”可能是不變的,而中部可能是變化的。

于是在實作中,如果用“include法”我們需要把三個部分離出來,單為一個檔案。

之後,可以使用一個“主檔案”,分别把它們三個檔案include進來。

而今天,我們隻是一個實驗,是以我們是這樣設計的:

中部為一個“主檔案”,之後把上下兩部分include進來。

最後,我們還會把一些關鍵技術進行總結。

代碼實作:

【上部分檔案:head.aspx】

ASP.NET的include的用法
ASP.NET的include的用法

代碼

<script runat=server>

void click1 (object a,EventArgs b)

{ label1.Text=text1.Text;

label2.Text=text2.Text;}

</script> 

<h1>The Softzz's New page</h1>

<p>2004-11-15</p>

Name:<asp:textbox id="text1" runat="server"/>

  

Pass:<asp:textbox id="text2" runat="server"

textmode="password"/>

<asp:button id="button1" runat="server"

Text="ClickMe" OnClick="click1"/>

<HR width="80%" SIZE="1">

【上部分檔案:end.a】

ASP.NET的include的用法
ASP.NET的include的用法

void click2 (object a,EventArgs b)

{ label1.Text=text3.Text;

label2.Text=text4.Text;

}

</script>

Name:<asp:textbox id="text3" runat="server"/>

Pass:<asp:textbox id="text4" runat="server"

<asp:button id="button2" runat="server"

Text="ClickMe" OnClick="click2"/>

<h5><%= DateTime.Now.ToString() %></h5>

<b><p>CopyRight: SoftZZ</p></b>

【主檔案:index.aspx】

ASP.NET的include的用法
ASP.NET的include的用法

<%@ Page Language=C# %>

<center>

<form runat=server>

<!-- #include file="head.aspx" -->

<br/>

<p>This is a new test page.Please look at the info:</p>

<br/><br/>

User's Name: <b><asp:label id=label1 runat=server/></b>

User's Pass: <b><asp:label id=label2 runat=server/></b>

<!-- #include file="end.a" -->

</form>

</center>

關鍵技術·記述:

上面的例子還能說明什麼呢?

l include可以把幾個檔案最終拼成一個檔案,而作為元素的每一頁,隻是最後拼成的最終頁的片段。

l 被拼的頁、最終的頁,均為ASP.NET代碼容器,而非HTML文本。

l 拼頁時,是按順序的。

l 這些檔案中的代碼,在被拼時,隻是普通文字,當最終拼成後,才會被檢查/編譯/報錯/顯示……

l 一個檔案中可以多次include另一個檔案。但前提是不能使“聲明/定義”(辨別符)部分重複(重名)。

l 如果在各檔案中終有“runat=server”的控件,一定要注意<form runat=”server”>的始/終位置。

l 一頁中隻能有一個<form runat=”server”>,就算可以設定form的id也不能有多個。

l 一頁中可能多次出現<script runat=”server”>,而且其都會運作在這個“最終頁”顯示前。

還有就是,它的運作與頁面順序無關,它是一個“代碼聲明塊”,它的元素隻會被調用後運作。

l 我們可以把<script runat=”server”>們,放在頁面的任何地方,包括<form runat=”server”>内。

l 用include法引用檔案,擴充名可随意。

繼續閱讀