介绍.net 框架中的 ASP.NET 内联表达式

文章翻译 文章翻译
文章编号: 976112 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

简介

本文包含以下 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) 的网站:
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

<%@...%> 指令的表达式

指令的表达式是用于指定页和用户控件编译器时使用它们处理 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 网站:
http://msdn.microsoft.com/en-us/library/xz702w3e.aspx

<%#...%> 数据绑定表达式

在页上调用此服务器控件的控件的 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 站点的版权和如何再将版权信息设置为文本的 文本 属性的值。

在 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 网站:
http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx

<-%-...--%> 服务器端注释块

服务器端注释块允许开发人员在任何位置的 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 网站:
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
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 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