.NET"代码块块"?

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)

究竟是什么?

还有更多吗?是否有详尽的清单以及它们在哪里?很难知道甚至可以搜索什么 - 当我发现<%:是什么时,我甚至没有听说过"代码块块"这个词.

Ray*_*y K 10

这些<%@是指令.有关详尽的列表和文档,请参阅MSDN.

使用时,指令可以位于.aspx或.ascx文件中的任何位置,但标准做法是将它们包含在文件的开头.每个指令可以包含一个或多个特定于该指令的属性(与值配对).

<%是脚本块.这是MSDN中的一个很好的描述

嵌入式代码块是在页面呈现阶段执行的服务器代码.块中的代码可以在当前页面类中执行编程语句和调用函数.

<%#块通常用于绑定控件.有关详细信息,请参阅此简短文章.


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.