ASP.NET網頁中的嵌入式代碼塊應用淺析
ASP.NET 網頁中的嵌入式代碼塊是什么呢?它的作用是什么呢?讓我們開始吧:
將代碼添加到 ASP.NET 網頁中的默認模型要么創(chuàng)建一個代碼隱藏類文件(代碼隱藏頁),要么將頁的代碼寫到具有 runat="server" 屬性的 script 塊中(單文件頁)。編寫的代碼通常會與頁上的控件進行交互。例如,通過從代碼中設置控件的 Text(或其他)屬性,可以在頁上顯示信息。
另一種可能是使用嵌入式代碼塊將代碼直接嵌入到頁中。
嵌入式ASP.NET代碼塊
嵌入式ASP.NET代碼塊是在呈現(xiàn)頁面的過程中執(zhí)行的服務器代碼。塊中的代碼可以執(zhí)行編程語句,并調用當前頁類中的函數(shù)。
下面的代碼示例演示包含嵌入式代碼塊的 ASP.NET 頁,該代碼塊顯示循環(huán)結果。
Visual Basic
- ﹤%@ Page Language="VB" %﹥
- ﹤html﹥
- ﹤body﹥
- ﹤form id="form1" runat="server"﹥
- ﹤% For i As Integer = 0 To 5 %﹥ ﹤% Response.Write("﹤br﹥" & i.ToString())%﹥ ﹤% Next%﹥
- ﹤/form﹥
- ﹤/body﹥
- ﹤/html﹥C#
- ﹤%@ Page Language="C#" %﹥
- ﹤html﹥
- ﹤body﹥
- ﹤form id="form1" runat="server"﹥
- ﹤% for(int i = 0; i ﹤ 6; i++) %﹥ ﹤% { Response.Write("﹤br﹥" + i.ToString()); }%﹥
- ﹤/form﹥
- ﹤/body﹥
- ﹤/html﹥
下面的代碼示例演示一個嵌入式代碼塊,該ASP.NET代碼塊顯示 span 元素中的公共 GetTime() 函數(shù)的值。在嵌入式ASP.NET代碼塊中,語法 ﹤% = expression %﹥ 用于解析表達式,并將其值返回到塊中。
Visual Basic
- ﹤%@ Page Language="VB" %﹥
- ﹤script runat=server﹥
- Protected Function GetTime() As String
- Return DateTime.Now.ToString("t")
- End Function
- ﹤/script﹥
- ﹤html﹥
- ﹤body﹥
- ﹤form id="form1" runat="server"﹥
- Current server time is ﹤% =GetTime()%﹥.
- ﹤/form﹥
- ﹤/body﹥
- ﹤/html﹥C#
- ﹤%@ Page Language="C#" %﹥
- ﹤script runat=server﹥
- protected String GetTime()
- {
- return DateTime.Now.ToString("t");
- }
- ﹤/script﹥
- ﹤html﹥
- ﹤body﹥
- ﹤form id="form1" runat="server"﹥
- Current server time is ﹤% =GetTime()%﹥.
- ﹤/form﹥
- ﹤/body﹥
- ﹤/html﹥
嵌入式代碼塊必須使用頁的默認語言進行編寫。例如,如果頁的 @ Page 指令包含屬性 language="VB",則頁將使用 Visual Basic 編譯器對標有 runat="server" 的所有腳本塊中的代碼以及 ﹤% %﹥ 分隔符中的所有內嵌代碼進行編譯。
嵌入式ASP.NET代碼塊的使用
ASP.NET 網頁中支持嵌入式代碼塊,主要用于保留與舊的 ASP 技術的向后兼容性。一般情況下,將嵌入式代碼塊用于復雜的編程邏輯并不是最佳做法,因為當頁中的代碼與標記混合時,很難進行調試和維護。此外,由于代碼僅在呈現(xiàn)頁的過程中執(zhí)行,因此與將代碼置于適當?shù)捻撎幚黼A段以執(zhí)行后臺代碼或腳本塊代碼相比,其靈活性大大降低。
嵌入式代碼塊的部分用途包括:
將控件元素或標記元素的值設置為函數(shù)返回的值,如前面的示例所示。
將計算直接嵌入到標記或控件屬性中。
ASP.NET代碼塊在網頁中的相關應用情況就向你介紹到這里,希望對你有所幫助。
【編輯推薦】