Answers:
正式名称是“ 服务器端脚本分隔符 ”或“ ASP.NET内联表达式 ”。Visual Studio 2008语法突出显示设置对话框将这些称为“ HTML服务器端脚本”。微软的人在他们的博客中称它们为“代码块”。
<%@ %>
是ASP.NET网页的指令。用于页面和控件以配置页面/控件编译器设置(<%@ Control Inherits="MyParentControl" %>
)。
<%@ %>
也是应用程序指令。用于为global.asax指定应用程序特定的设置。与page指令不同,因为它仅使用不同的标记集。<% %>
是一个代码渲染块(用于内联代码)。嵌入式代码块的4种形式之一。用于将服务器端代码包含到所生成类的Render()
方法(<% x = x + 1; %>
)中。格式:单行/多行或多链接(例如,if/then/else
插入html),但不能用于声明函数。<%= %>
是一个代码渲染块(用于内联表达式)。用作速记<%Response.Write(value)%>
<%: %>
(非正式地称为“ Html编码代码块 ”)与以前的相同,但是输出是HTML编码的。<%# %>
是一个数据绑定表达式。用于单向(只读)或双向(更新)的结合通过Eval
,Xpath
,Bind
,或的表达式(例如,下拉式控制的所选择的值)。通过控件的属性标记将表达式绑定到数据绑定的控件属性,或作为单独的标记将表达式绑定到具有属性DataBoundLiteralControl
值的实例Text
。表达式由DataBinding
控件的事件处理程序评估。<%#: %>
是HTML编码的数据绑定表达式(ASP.NET 4.5中的新增功能)。它结合了<%# %>
和的功能<%: %>
。<%$ %>
是ASP.NET Expression Builder。用于通过服务器标签属性为控件属性进行运行时表达式绑定。与AppSettings
,ConnectionStrings
或一起使用Resources
(或您自己的自定义扩展名,例如,使用代码隐藏属性)。这些分配将添加到OnInit()
生成的类的方法中。<%-- --%>
是服务器端Comment。用于从编译中排除内容(因此,如果在后面的代码中引用注释掉的控件,则将产生错误)。与html注释不同,内容不会包含在输出中。<!-- #Include ... -->
是服务器端包含指令。用于将文件内容插入页面,控件或全局文件中。在用户控件过大且无法使用母版页时很有用。还有一个代码声明块,即最终的嵌入式代码块形式。
<script runat="server">
bool IsTrue() {
return false;
}
</script>
这用于将其他成员(方法等)包括到从ASP.NET标记生成的类中。仅“主要是为了保持与较旧ASP技术的向后兼容性”才提供这些功能,不建议使用这些功能。
您的姓名问题没有答案,但是MSDN的“ ASP.NET页面语法”页面非常好(或者,这是顶层页面;它下面的页面提供了更多信息)。
编辑:我以前曾认为它<%# ... %>
不包括在列表中,但它当然是在数据绑定表达式下。h