lt;%%gt;创建内联代码块(表达)
? ? 其實(shí)<%%>很早之前見過它,將一個(gè)小的功能僅。別人不理解。今天偶爾,我們看到它的真面目,今天,給大家分享。
語法
? ? 代碼塊呈現(xiàn)(<%%>)定義了當(dāng)呈現(xiàn)頁時(shí)運(yùn)行的內(nèi)聯(lián)代碼或內(nèi)聯(lián)表達(dá)式,它的詳細(xì)語法例如以下:
???????? <%code%>//內(nèi)聯(lián)代碼
???????? <%=expression%>//內(nèi)聯(lián)表達(dá)式
? ? 使用內(nèi)聯(lián)代碼能夠定義獨(dú)立的行或代碼塊。
它是呈現(xiàn)頁面的過程中運(yùn)行的server代碼。
關(guān)于嵌入式代碼塊的使用說明,例如以下:ASP.NET網(wǎng)頁中支持嵌入式代碼塊。主要用于保留與舊的ASP技術(shù)的向后兼容性。
普通情況下。將嵌入式代碼塊用于復(fù)雜的編程邏輯并非最佳做法,由于當(dāng)頁中的代碼與標(biāo)記混合時(shí),非常難進(jìn)行調(diào)試和維護(hù)。
此外,由于代碼將在呈現(xiàn)頁的過程中運(yùn)行。因此與將代碼至于適當(dāng)?shù)捻撎幚黼A段以運(yùn)行后臺代碼或腳本塊代碼相比,靈活性大大減少。
? ? 嵌入式代碼塊的部分用途包含:
???????? 將控件元素或標(biāo)記元素的值設(shè)置為函數(shù)返回的值。
???????? 將計(jì)算直接嵌入到標(biāo)記或控件屬性中。
演示樣例
? ? 演示樣例1:在頁面上輸出5行標(biāo)記為“信息技術(shù)提高班”的字符串。執(zhí)行效果如圖:
代碼例如以下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="TestLocalData.WebForm1" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>測試內(nèi)聯(lián)代碼</title> </head> <body><form id="form1" runat="server"><div><!--打印5行字符串--><%for (int i = 1; i <=5; i++) %><%{ %><%Response.Write("信息技術(shù)提高班"); %><br /><%} %></div></form> </body> </html>? 演示樣例2:內(nèi)聯(lián)表達(dá)式是調(diào)用Write方法的快捷方式。<%=expression%>用于解析表達(dá)式。并將其值返回到塊中。
下面演示樣例代碼通過使用內(nèi)聯(lián)表達(dá)式顯示GetTime方法的值。執(zhí)行效果如圖所看到的:
代碼例如以下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="TestLocalData.WebForm2" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>測試內(nèi)聯(lián)表達(dá)式</title><script runat="server">protected String GetTime() {return DateTime.Now.ToString("t"); //獲取當(dāng)前時(shí)間hh:mm}</script> </head> <body><form id="form1" runat="server"><div>當(dāng)前時(shí)間是:<%=GetTime() %></div></form> </body> </html>? 注意:代碼塊中的代碼必須使用該頁的默認(rèn)語言進(jìn)行編寫。
比如。假設(shè)該頁的@Page指令包括屬性language=”C#”,則該頁將使用Visual C#編譯器對標(biāo)有runat=server的全部腳本塊中的代碼。以及<%%>代碼塊中的全部內(nèi)嵌代碼進(jìn)行編譯。
????????
? 演示樣例3:應(yīng)用<%%>代碼塊來實(shí)現(xiàn)ASP.NET中簡單的屬性綁定。
? ? 首先了解什么是數(shù)據(jù)綁定。數(shù)據(jù)綁定不僅能夠直接輸出一般輸出語句能夠輸出的數(shù)據(jù)類型,還能夠輸出不論什么一種符合數(shù)據(jù)綁定要求的數(shù)據(jù)源。并且對于不同的數(shù)據(jù)顯示控件對數(shù)據(jù)源的處理能夠不一致,也能夠依據(jù)情況的改變而動態(tài)地發(fā)生變化。也就是說,在數(shù)據(jù)綁定中,數(shù)據(jù)的顯示是由數(shù)據(jù)源和數(shù)據(jù)顯示控件共同決定的。數(shù)據(jù)源決定數(shù)據(jù)的內(nèi)容,數(shù)據(jù)顯示控件決定數(shù)據(jù)的顯示方式。實(shí)際上,數(shù)據(jù)綁定的作用機(jī)制就是由數(shù)據(jù)顯示控件調(diào)用數(shù)據(jù)源的方法得到數(shù)據(jù)的。
? ? 數(shù)據(jù)綁定的語法例如以下:
???????? <語言標(biāo)記…屬性’<% 數(shù)據(jù)綁定表達(dá)式 %>’runat=”server”>
? ? 假設(shè)將表達(dá)式的結(jié)果直接輸出到網(wǎng)頁上。那么數(shù)據(jù)綁定的語法例如以下:
? ? ? ? ?字符串:<% 數(shù)據(jù)綁定表達(dá)式 %>
? ? 演示樣例執(zhí)行結(jié)果如圖:
以下介紹程序?qū)崿F(xiàn)的主要步驟(正常情況下應(yīng)該從數(shù)據(jù)庫中獲取。這里為了演示方便就綁定死的數(shù)據(jù)了):
(1)新建一個(gè)aspx頁面。在前臺頁面代碼中定義兩個(gè)公共屬性,這兩個(gè)屬性作為綁定數(shù)據(jù)時(shí)的數(shù)據(jù)源;之后應(yīng)用<%%>代碼塊將它與顯示控件之間建立綁定關(guān)系。完整演示樣例代碼例如以下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="TestLocalData.WebForm3" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>數(shù)據(jù)綁定表達(dá)式測試</title><script runat="server">public String Name {get { return "lc"; }}public String Sex {get { return "male"; }}</script> </head> <body><form id="form1" runat="server"><div>簡單屬性綁定<br />姓名:<%#Name %><br />性別:<%#Sex %></div></form> </body> </html>? 說明:基于屬性的數(shù)據(jù)綁定所涉及的屬性必須包括get訪問器。由于在數(shù)據(jù)綁定過程中。數(shù)據(jù)顯示控件須要屬性的get訪問器中從屬性中讀取數(shù)據(jù)
(2)綁定完畢之后,僅僅須要在頁面的Page_Load事件中調(diào)用Page類的DataBind方法,來實(shí)如今頁面載入時(shí)讀取數(shù)據(jù)。代碼例如以下:protected void Page_Load(object sender, EventArgs e) {Page.DataBind(); } ? ? 我們在見到一個(gè)陌生的知識或者名詞之后不應(yīng)該僅僅是停留在會用的層次上,而應(yīng)向“知其然知其所以然”靠攏,了解來龍去脈,哪怕掌握不了。最起碼也要知道。對于常常使用的知識點(diǎn)擴(kuò)展查完之后還須要進(jìn)行消化、實(shí)踐,這樣才干拓展自己的眼世界。并能面對知識變種后從容面對。
版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。
轉(zhuǎn)載于:https://www.cnblogs.com/bhlsheji/p/4725388.html
總結(jié)
以上是生活随笔為你收集整理的lt;%%gt;创建内联代码块(表达)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 屏幕尺寸知识
- 下一篇: HDU 2546(01背包)