您目前已離線,請等候您的網際網路重新連線

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

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本: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) 網站]:

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

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

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

如需有關如何顯示來自 ASP.NET 資訊的詳細資訊,請造訪下列 MSDN 網站:

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

指示詞的運算式是指定依網頁和使用者控制項編譯器時使用它們的處理序 (.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 網站:

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

在頁面上呼叫這個伺服器控制項的控制項 ’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 網站:

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

運算式產生器用來設定根據包含在應用程式的組態或資源檔的資訊的控制項屬性的值。下列是基本語法的運算式產生器:
< %$ 運算式前置詞: 運算式的值 %>
錢幣符號 ($) 表示 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 網站:

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

伺服器端註解區塊可讓開發人員將程式碼註解內嵌在 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 網站:

警告:本文為自動翻譯

內容

文章識別碼:976112 - 最後檢閱時間:10/20/2009 04:57:50 - 修訂: 2.0

Microsoft .NET Framework 2.0, Microsoft .NET Framework 3.0, Microsoft .NET Framework 3.5

  • kbmt kbsurveynew kbinfo kbhowto kbexpertiseadvanced KB976112 KbMtzh
意見反應
"https://c.microsoft.com/ms.js">