是什麼<%# ... %>
,<%= ... %>
和<%$ ... %>
之間的區別?
我找不到任何有關此信息。使用搜索引擎找到「<%=」是不可能的。
這些標籤有一個名字嗎?
是什麼<%# ... %>
,<%= ... %>
和<%$ ... %>
之間的區別?
我找不到任何有關此信息。使用搜索引擎找到「<%=」是不可能的。
這些標籤有一個名字嗎?
<%= ... %>
通常等同於Response.Write(...) 它不能用於runat =「server」的控制屬性中
<%: ... %>
(自.NET v4起。0)是<%= %>
一個HTML編碼的版本(如@Eric提及)
<%# ... %>
用於在綁定,評估和演示或輸出(如@Ray提及)
<%$ ... %>
數據綁定上下文中的上下文中使用一個控制屬性與runat =「服務器」(谷歌「表達式生成器」也有一個在通用的目的'Code' expression builder。它是評估當屬性/參數是由控制要求
<%#%>將嘗試使用Bind()函數將數據綁定到數據源。這使它成爲一種雙向功能(讀取和寫入)。
<%=%>將使數據爲只讀。
另外<%= %>可以打印任何中間的塊,其中<% %>只是執行那些語句 – Jimmy 2010-04-13 21:29:43
而現在我們也有<%: %>用於html編碼輸出。 – 2010-04-13 21:30:54
<%#%>可以僅用於數據綁定上下文中的。
<%=%>預計將包含在輸出流中的字符串值。所以無論是一個字符串變量或一個返回字符串的方法。其他任何事情都會導致錯誤。
<%#%>在數據綁定期間被評估。它不一定需要Eval()或Bind(),Matthew建議 - 我經常使用它來在中繼器控件中顯示純文本。
<%=%>被評估爲頁面呈現。這相當於調用Response.Write()。
+1我正要問另一個關於「什麼時候」每個評估的答案。 – AaronLS 2010-04-13 21:37:19
我發現明確的術語爲你的未來的谷歌搜索一些有用的信息:
http://authors.aspalliance.com/aspxtreme/aspnet/syntax/aspnetpagesyntax.aspx
代碼呈現塊:
<% inline code %>
的快捷方式HttpResponse.Write:
<%=inline expression %>
數據綁定表達式:
<%# databinding expression %>
在一個屬性:
<tagprefix:tagname property = "<%# databinding expression %>" runat="server" />
服務器端註釋,使得它們不會出現在客戶端的頁面的源代碼:
<%-- commented out code or content --%>
就術語而言,我認爲他們被稱爲內聯表達式 – AaronLS 2010-04-13 21:34:12