转自:http://www.cnblogs.com/zhaozhan/archive/2010/07/20/1781756.html
在asp.net应用程序中,在asp.net页面常用的<%@ %>、<%# %>、<%= %>。在全球化的项目中使用<%$ %>绑定资源项目,在asp.net mvc中使用<%: %>绑定ViewData。
<%@ %>主要用于在web页面定义Page、引入控件、组件、设置Cache等:
1: <%@ Page %>
2: <%@ Assembly %>
3: <%@ Import %>
4: <%@ MasterType %>
5: <%@ OutputCache %>
6: <%@ PreviousPageType %>
7: <%@ Reference %>
8: <%@ Register %>
<%# %>主要用来绑定后台数据到前台,一般在后台都需要有对应的DataBind()在执行绑定。
【用于子元素,其父元素绑定到某个数据源,子元素对应数据源某个字段的具体值。估计会从子元素一层层像上找,直到发现某个父元素绑定到数据源】
1: <asp:GridView ID="gvProducts" runat="server">
2: <Columns>
3: <asp:TemplateField>
4: <ItemTemplate>
5: <%# Eval("ProductName") %>
6: </ItemTemplate>
7: </asp:TemplateField>
8: </Columns>
9: </asp:GridView>
<%= %>主要用于在前台输入后台变量。【就是调用response对象在前台写东西】
1: <%= Page.IsPostBack %>
<%$ %>用于在全球化解决方案中,指定前台页面对应的资源项。
1: <asp:Label ID="lblAmount" runat="server" Text="<%$ Resources:TestSiteResources, TotalAmount %>"></asp:Label>
<%: %>在asp.net mvc项目中绑定ViewData。【就是格式化输出不带html元素的东西】
1: <%: ViewData["Message"] %>
我的补充:
<%= %>等价于<% Response.Write() %>
<%: %> 等价于<%= Server.HtmlEncode(content) %> *必要条件.NET 4*
<%: %> 等价于<%= Server.HtmlEncode(content) %> *必要条件.NET 4*