http://topic.csdn.net/u/20090415/15/f1e44c74-5257-4849-83f4-9c7603a9ec29.html
<%@ 表示:引用
<%# 表示:绑定
<%= 表示:取值
<%= 变量名%>
<%# 要绑定的字段名%> 或者 <%# 调用后台的方法名%>
<% inline code %>叫做内联代码...
<%=inline expression %>叫做内联表达式...
<%# data-binding expression %>叫做数据绑定表达式...
http://blog.csdn.net/mails2008/article/details/6127114
本文包含以下 ASP.NET 内联表达式的介绍:
- <% ... %>
- <%= ... %>
- <%@ ... %>
- <%# ... %>
- <%$ ... %>
- <%-- ... %>
- <%@ ... %>
<%...%> 嵌入式代码块
嵌入式的代码块用于保留使用传统的 ASP 向后兼容性。块中的代码可以执行编程语句,并在页呈现阶段中在当前页类中调用函数。
下面的示例演示一个 ASP.NET 页,它有示例嵌入式的代码块显示循环的结果中的 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 网页中的嵌入式的代码块的详细信息,请访问下面的 Microsoft 开发人员网络 (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 网站:
<%@...%> 指令的表达式
指令的表达式是用于指定页和用户控件编译器时使用它们处理 ASP.NET Web 窗体 (.aspx) 页和用户控件 (.ascx) 文件设置的语法。
在 ASP.NET 页框架支持以下指令:
@ Page | 定义 ASP.NET 页分析器和编译器所使用的特定于页的属性。可以包含仅在.aspx 文件中。 * 仅在 ASP.NET Web 窗体页中,可以使用此指令的名称。 |
@ 控件 | 定义 ASP.NET 页分析器和编译器所使用的特定于控件的属性。可以包含仅在.ascx 文件 (用户控件) 中。 * 此指令的名称,可仅在用户控制文件。 |
@ 导入 | 将命名空间显式导入到页或用户控件中。 |
@ 实现 | 以声明方式指示一个页或用户控件实现指定的.net 框架接口。 |
@ 注册 | 将关联的别名与命名空间和类名。这使用户控件和自定义服务器控件能够在呈现时它们包含在所请求的页或用户控件。 |
@ 程序集 | 在编译过程中,将程序集链接到当前页。它使该程序集的所有类和接口可用于在页上。 |
@ Master | 标识 ASP.NET 母版页。 |
@ WebHandler | 标识一个 ASP.NET IHttpHandler 页。 |
@ PreviousPageType | 提供了一种方法来获取对前一页强类型,如通过 PreviousPage 属性访问。 |
@ MasterType | 将一个类名称分配给 主 属性的 ASP.NET 页。 提供了一种创建 ASP.NET 母版页的强类型的引用的方法。 |
@ OutputCache | 以声明方式控制输出缓存策略或用户控件的页面。 |
@ 引用 | 以声明方式链接到当前页或用户控件的页或用户控件。 |
指令语法的详细信息,请访问下面的 MSDN 网站:
<%#...%> 数据绑定表达式
在页上调用此服务器控件的控件的 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 下面的表达式是对表达式生成器。表达式前缀定义如 AppSettings、ConnectionStrings,或 资源 这样的表达式的类型。此外,您可以创建和定义您自己的表达式生成器。跟冒号后面的表达式值 (:) 是什么 ASP.NET 将实际使用的某些属性的值。
下面演示显示了如何使用表达式生成器来从 AppSettings 节点在 Web.config 文件中获取 Web 站点的版权和如何再将版权信息设置为文本的 文本 属性的值。
在 Web.config 文件中的 AppSettings 节点:
<appSettings> <add key="copyright" value="(c) Copyright 2009 WebSiteName.com"/> </appSettings>
表达式生成器,在 ASP.NET Web 窗体页中的:
<div id="footer"> <asp:Literal ID="Literal1" runat="server" Text="<%$ AppSettings: copyright %>"></asp:Literal> </div>
有关 ASP.NET 表达式的详细信息,请访问下面的 MSDN 网站:
<-%-...--%> 服务器端注释块
服务器端注释块允许开发人员在任何位置的 ASP.NET Web 窗体页的 HTML 源的嵌入代码注释 (在 <script>代码块中除外)。将不在服务器上处理服务器端注释块的开始和结束标记之间的任何内容,或为所生成的页面上呈现。
下面的代码示例演示如何在 ASP.NET 页中使用服务器端注释块:
<%@ 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 网站: