geo*_*oid 18 .net asp.net webforms-view-engine
所以在.NET中我们有......
<%=
<%: (new to .NET 4 - syntactic sugar for HTML encoding)
<%#
<%@
Run Code Online (Sandbox Code Playgroud)
究竟是什么?
还有更多吗?是否有详尽的清单以及它们在哪里?很难知道甚至可以搜索什么 - 当我发现<%:是什么时,我甚至没有听说过"代码块块"这个词.
NoS*_*ler 10
它们被称为代码块.它们提供了有关如何在这些符号(<%%>)内处理语句的ASP.NET框架指令.直到我知道它的名字,是的,在社区中询问它有点困难.不确定'详尽'列表,但有一些比你指定的更多.以下是其他代码块及其用途和示例示例的列表.
符号 - 名称 - 描述 - 例如(格式)
<%--Standard code nugget - 表示以下语句是C#语句.必须遵循C#语法规则.例如.
<% string[] cities = { ""London"", ""New York"", ""Paris"" };
string myCity = cities[new Random().Next(cities.Length)];
Response.Write(myCity);%>
Run Code Online (Sandbox Code Playgroud)
<%=--Content code nugget - 与标准cn类似,不同之处在于返回的结果直接插入到浏览器的响应中而不必使用Response.Write.例如.
<%=textBox.Text%>
Run Code Online (Sandbox Code Playgroud)
(不推荐,包括html注入攻击的风险.如果文本框上的输入类似于" < button type = submit > Submit</button >",它将添加一个页面按钮.当然会有验证,但希望这一点很明确.)
<%:--Encoded code nugget - 与<%=类似,但响应是HTML编码的.例如.
Name is <%:textBox.Text%>
(无论文本框中的输入是什么,它都会显示.如果输入类似于" < button type = submit > Submit</button >",则输出将为"Name is <button type = submit> Submit</button>".
<%# - 数据绑定代码块 - 引用数据绑定代码块,用于引用当前数据对象.仅适用于像转发器等数据绑定控件.
<%#:--Encoded data binding - 表示编码数据绑定值的编码数据绑定代码块.例如.
<asp:Repeater ItemType = ""System.String"" SelectMethod = ""GetCities"" runat = ""server">
<ItemTemplate>
<li > <%# Item % > </li>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
(如果使用encoded(<%#:),则建议使用不带解释的文字.)"
<%$ --Property code nugget - 用于引用配置值,例如Web.config中定义的配置值.
<asp:Literal Text = " < %$ AppSettings: cityMessage % > " runat = "server" />
Run Code Online (Sandbox Code Playgroud)
(从配置文件中检索cityMessage键的值.)
<%@ --Page指令 - 用于配置Web窗体(或控件或母版页,具体取决于指令的类型.
<%@ Page.. <%@ Master
Run Code Online (Sandbox Code Playgroud)
所有上述信息和示例均来自Adam Freeman的Pro ASP .NET 4.5书,第12章.优秀的书籍imo.