在.NET Framework 中的 ASP.NET 內嵌運算式的簡介

文章翻譯 文章翻譯
文章編號: 976112 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

簡介

本文包含下列 ASP.NET 內嵌運算式的簡介:
  • <% ... %>
  • <%= ... %>
  • <%@ ... %>
  • <%# ... %>
  • <%$ ... %>
  • <%-- ... %>
  • <%@ ... %>

其他相關資訊

<%...%> 內嵌程式碼區塊

內嵌的程式碼區塊用來保留與傳統 ASP 的回溯相容性。區塊中的程式碼可以執行程式陳述式,而且在目前的頁面類別中呼叫函式,在網頁呈現階段。

下列範例會示範具有範例的 ASP.NET 網頁中內嵌的程式碼區塊,以顯示迴圈 (Loop) 結果的 Microsoft Visual Basic.NET 程式碼:
<%@ Page Language="VB" %>
<html>
<body>
    <form id="form1" runat="server">
    <% For i As Integer = 16 To 24 Step 2%>
    <div style="font-size: <% Response.Write(i)%>">
        Hello World<br />
    </div>
    <% Next%>
    </form>
</body>
</html>
因為內嵌的程式碼區塊永遠混合與 HTML 來源,很難閱讀及維護它們的開發人員。

如需有關 ASP.NET Web 網頁中內嵌的程式碼區塊的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn.microsoft.com/en-us/library/ms178135.aspx

<%=...%> 顯示運算式

<%=...%> 顯示運算式是包含 Response.Write(…) 陳述式的內嵌程式碼區塊的一個對等用法。這是最簡單的方式顯示資訊,例如單一字串、 未的 int 變數或常數。

下列程式碼範例會顯示目前的時間,例如:
<%@ Page Language="VB" %>
<html>
<body>
    <form id="form1" runat="server">
    <%=DateTime.Now.ToString() %>
    </form>
</body>
</html>
記住顯示的運算式不能用在伺服器控制項的屬性。這是因為.NET Framework 直接會編譯整個運算式代替顯示內容做為屬性值。

如需有關如何顯示來自 ASP.NET 資訊的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/6dwsdcf5.aspx

<%@...%> 指示詞的運算式

指示詞的運算式是指定依網頁和使用者控制項編譯器時使用它們的處理序 (.aspx) 的 ASP.NET Web Form 網頁和使用者控制項 (.ascx) 檔案的設定的語法。

在 ASP.NET 網頁架構支援下列的指示詞:
摺疊此表格展開此表格
@ Page定義 ASP.NET 網頁剖析器和編譯器使用的網頁特定屬性。可以包含只在.aspx 檔案中。
* 此指示詞的名稱只能用於 ASP.NET Web Form 網頁。
@ 控制項定義 ASP.NET 網頁剖析器和編譯器使用的特定控制項屬性。可以包含只在.ascx 檔 (使用者控制項)。
* 此指示詞的名稱可僅在使用者控制檔案。
@ 匯入明確地將命名空間匯到網頁或使用者控制項。
@ 實作以宣告方式會指示網頁或使用者控制項實作指定的.NET Framework 介面。
@ 暫存器將別名 (Alias) 建立關聯與命名空間和類別名稱。這可讓使用者控制項和自訂伺服器控制項?呈現時它們包含在要求的網頁或使用者控制項。
@ 組件將組件連結至目前的頁面,在編譯期間。它讓組件的所有類別和介面使用在頁面上。
@ Master識別 ASP.NET 主版頁面。
@ WebHandler識別的 ASP.NET IHttpHandler 網頁。
@ PreviousPageType提供方法來取得強式輸入對前一頁,如透過 [上一頁] 屬性存取。
@ MasterType將類別名稱指派給 ASP.NET 頁面的 主圖形 屬性。 提供方法來建立 ASP.NET 主版頁面的強型別的參考。
@ OutputCache以宣告方式控制輸出快取原則或使用者控制項的網頁。
@ 參考以宣告方式連結至目前的網頁或使用者控制項的網頁或使用者控制項。
如需有關指示詞的語法的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/xz702w3e.aspx

<%#...%> 資料繫結運算式

在頁面上呼叫這個伺服器控制項的控制項 ’s DataBind 方法時,資料繫結運算式就會建立伺服器控制項屬性與資料來源之間的繫結。

下列範例示範如何使用資料繫結運算式,以便將從函式的字串繫結至標籤的 Text 屬性:
<%@ Page Language="VB" %>
<script runat="server">
    Protected Function SayHello() As String
        Return "Hello World"
    End Function

    Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
        lblHello.DataBind()
    End Sub
</script>
<html>
<body>
    <form id="form1" runat="server">
    <asp:Label ID="lblHello" runat="server" Text="<%# SayHello%>"></asp:Label>
    </form>
</body>
</html>
如需有關資料繫結運算式語法的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/bda9bbfx.aspx

<%$...%> 運算式產生器

運算式產生器用來設定根據包含在應用程式的組態或資源檔的資訊的控制項屬性的值。下列是基本語法的運算式產生器:
< %$ 運算式前置詞: 運算式的值 %>
錢幣符號 ($) 表示 ASP.NET 下列運算式是運算式產生器。運算式前置字元定義如 AppSettingsConnectionStrings資源 的運算式的種類。此外,您可以建立並定義您自己的運算式產生器。運算式值,跟隨冒號 (:) 是什麼 ASP.NET 會實際使用做為特定屬性的值。

下列示範顯示如何使用運算式建立幫手來從 AppSettings 節點在 Web.config 檔中取得的 Web 站台的著作權法,以及如何接著將著作權資訊設定為常值 ’s Text 屬性的值。

在 Web.config 檔中的 [AppSettings] 節點:
<appSettings>
    <add key="copyright" value="(c) Copyright 2009 WebSiteName.com"/>
</appSettings>
運算式產生器,在 ASP.NET Web Form 網頁中的:
<div id="footer">
    <asp:Literal ID="Literal1" runat="server" Text="<%$ AppSettings: copyright %>"></asp:Literal>
</div>
ASP.NET 運算式的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx

<-%-...--%> 伺服器端註解區塊

伺服器端註解區塊可讓開發人員將程式碼註解內嵌在 HTML 來源的 ASP.NET Web Form 網頁的任何位置 (除非的 <script>的程式碼區塊內)。伺服器端註解區塊的開頭和結尾標記之間的任何內容將不在伺服器上處理或產生的網頁上呈現。

下列程式碼範例示範如何在 ASP.NET Web 網頁中使用伺服器端註解區塊:
<%@ Page Language="VB" %>
<script runat="server">
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim strName As String
        strName = Session("userName")
        lblUserName.Text = strName
    End Sub
</script>
<html>
<body>
    <form id="form1" runat="server">
    <%-- Label for UserName --%>
    <asp:Label ID="lblUserName" runat="server" Text=""></asp:Label>
    </form>
</body>
</html>
伺服器端註解的相關資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/4acf8afk.aspx

屬性

文章編號: 976112 - 上次校閱: 2009年10月20日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 3.0
  • Microsoft .NET Framework 3.5
關鍵字:?
kbmt kbsurveynew kbinfo kbhowto kbexpertiseadvanced KB976112 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:976112
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com