ASP.NET網(wǎng)頁中的嵌入式代碼塊應(yīng)用淺析
ASP.NET 網(wǎng)頁中的嵌入式代碼塊是什么呢?它的作用是什么呢?讓我們開始吧:
將代碼添加到 ASP.NET 網(wǎng)頁中的默認(rèn)模型要么創(chuàng)建一個(gè)代碼隱藏類文件(代碼隱藏頁),要么將頁的代碼寫到具有 runat="server" 屬性的 script 塊中(單文件頁)。編寫的代碼通常會(huì)與頁上的控件進(jìn)行交互。例如,通過從代碼中設(shè)置控件的 Text(或其他)屬性,可以在頁上顯示信息。
另一種可能是使用嵌入式代碼塊將代碼直接嵌入到頁中。
嵌入式ASP.NET代碼塊
嵌入式ASP.NET代碼塊是在呈現(xiàn)頁面的過程中執(zhí)行的服務(wù)器代碼。塊中的代碼可以執(zhí)行編程語句,并調(diào)用當(dāng)前頁類中的函數(shù)。
下面的代碼示例演示包含嵌入式代碼塊的 ASP.NET 頁,該代碼塊顯示循環(huán)結(jié)果。
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﹥
下面的代碼示例演示一個(gè)嵌入式代碼塊,該ASP.NET代碼塊顯示 span 元素中的公共 GetTime() 函數(shù)的值。在嵌入式ASP.NET代碼塊中,語法 ﹤% = expression %﹥ 用于解析表達(dá)式,并將其值返回到塊中。
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﹥
嵌入式代碼塊必須使用頁的默認(rèn)語言進(jìn)行編寫。例如,如果頁的 @ Page 指令包含屬性 language="VB",則頁將使用 Visual Basic 編譯器對(duì)標(biāo)有 runat="server" 的所有腳本塊中的代碼以及 ﹤% %﹥ 分隔符中的所有內(nèi)嵌代碼進(jìn)行編譯。
嵌入式ASP.NET代碼塊的使用
ASP.NET 網(wǎng)頁中支持嵌入式代碼塊,主要用于保留與舊的 ASP 技術(shù)的向后兼容性。一般情況下,將嵌入式代碼塊用于復(fù)雜的編程邏輯并不是最佳做法,因?yàn)楫?dāng)頁中的代碼與標(biāo)記混合時(shí),很難進(jìn)行調(diào)試和維護(hù)。此外,由于代碼僅在呈現(xiàn)頁的過程中執(zhí)行,因此與將代碼置于適當(dāng)?shù)捻撎幚黼A段以執(zhí)行后臺(tái)代碼或腳本塊代碼相比,其靈活性大大降低。
嵌入式代碼塊的部分用途包括:
將控件元素或標(biāo)記元素的值設(shè)置為函數(shù)返回的值,如前面的示例所示。
將計(jì)算直接嵌入到標(biāo)記或控件屬性中。
ASP.NET代碼塊在網(wǎng)頁中的相關(guān)應(yīng)用情況就向你介紹到這里,希望對(duì)你有所幫助。
【編輯推薦】