程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> 淺談ASP.NET的include的使用方法

淺談ASP.NET的include的使用方法

編輯:ASP.NET基礎

我們學過的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】

復制代碼 代碼如下:
代碼


Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><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】

復制代碼 代碼如下:
代碼


Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><script runat=server>

void click2 (object a,EventArgs b)

{ label1.Text=text3.Text;

label2.Text=text4.Text;

}

</script>

 

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

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

  

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

textmode="password"/>

  

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

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

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

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

【主文件:index.aspx】

復制代碼 代碼如下:
代碼


Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><%@ 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>

<br/><br/>

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

<br/><br/>

<!-- #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法引用文件,擴展名可隨意。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved