ASP.NET“特殊”标签

19 浏览
0 Comments

ASP.NET“特殊”标签

这些类似于这种形式的“特殊”的ASP.NET标签的官方名称是什么:

<%# %>
<%= %>
<%@ %>
<%$ %>

我似乎无法弄清楚这些标签的概念或众所周知的名称,因此我很难搜索更多信息。 作为奖励,有人能否给我快速概述所有可能的“特殊标签”及其各自的功能(或指向资源)?

admin 更改状态以发布 2023年5月21日
0
0 Comments

没有你关于名称问题的答案,但是MSDN的"ASP.NET页面语法"页面非常好(或者更确切地说,这是顶级页面;它下面的页面提供更多信息)。

编辑:我之前认为<%# ... %>没有包括在列表中,但当然它在Data-Binding表达式下面。哎呀。

0
0 Comments

这个东西的官方名称是"服务器端脚本定界符"或者"ASP.NET内联表达式"。Visual Studio 2008中的语法高亮设置对话框将其称为"HTML服务器端脚本"。微软的小伙伴在他们的博客中称其为"代码小块"

  • <%@ %>是用于ASP.NET Web Pages指令。用于为页面和控件配置页面/控件编译器设置(例如<%@ Control Inherits="MyParentControl" %>)。
    • <%@ %>也是一个应用程序指令。用于为global.asax指定应用程序特定的设置。与页面指令不同,它只使用不同的标记集。
  • <% %>是用于内联代码的代码渲染块的一种形式,是4个嵌入式代码块之一。用于将服务器端的代码包含到生成的类的Render()方法中(例如<% x = x + 1; %>)。格式为:单行/多行或多个链接的(例如if/then/else夹杂着html),但不能用于声明函数。
  • <%= %>是用于内联表达式的代码渲染块的一种形式。用作<%Response.Write(value)%>的缩写。
  • <%: %>(非官方的"Html编码代码块")与上一个相同,但输出被HTML编码了。
  • <%# %>是用于数据绑定表达式的。通过EvalXpathBind或表达式(例如下拉控件的选定值)进行单向(只读)或双向(可更新)绑定。通过控件的属性标记或作为一个单独的标记来将表达式绑定到数据绑定控件属性,它将生成一个DataBoundLiteralControl实例,并在它的Text属性上具有值。表达式由控件的DataBinding事件处理程序进行评估。
  • <%#: %>是ASP.NET 4.5中新出现的HTML编码数据绑定表达式,它结合了<%# %><%: %>的功能。
  • <%$ %>ASP.NET表达式生成器。通过服务器标记属性进行控件属性的运行时表达式绑定。与AppSettingsConnectionStringsResources一起使用(或您自定义的扩展,例如使用代码后面的属性)。这些赋值添加到生成的类的OnInit()方法中。
  • <%-- --%>服务器端注释。用于从编译中排除内容(如果引用了注释的控件,则会生成错误)。与Html注释不同,该内容不会包含在输出中。
  • 服务器端包含指令。用于将文件的内容插入页面、控件或全局文件中。在用户控件过于复杂,无法使用主控件的情况下非常有用。

还有一种形式的嵌入式代码块:代码声明块


这用于将额外的成员(如方法等)包含到从ASP.NET标记生成的类中。这些仅为了“主要保留与旧版ASP技术向后兼容性”的目的而提供,不建议使用。

0