当前位置:  开发笔记 > 后端 > 正文

ASP.NET"特殊"标签

如何解决《ASP.NET"特殊"标签》经验,为你挑选了4个好方法。

像这样的"特殊"ASP.NET标记的官方名称是什么:

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

我似乎无法弄清楚这些的概念或众所周知的名称,所以我无法搜索更多信息.作为奖励,任何人都可以快速了解所有可能的"特殊标签"以及它们每个人所做的事情(或指向我的资源)吗?



1> Sedat Kapano..:

官方名称是" 服务器端脚本分隔符 "或" ASP.NET内联表达式 ".Visual Studio 2008语法突出显示设置对话框调用这些"HTML服务器端脚本".微软的家伙们在他们的博客中称他们为"代码块".

<%@ %>是ASP.NET网页的指令.用于页面和控件以配置页面/控件编译器设置(<%@ Control Inherits="MyParentControl" %>).

<%@ %>也是一个应用指令.用于为global.asax指定特定于应用程序的设置.与页面指令不同,因为它仅使用不同的标记集.

<% %>是代码渲染块(用于内联代码).嵌入式代码块的4种形式之一.用于将服务器端代码包含到生成的类的Render()method(<% x = x + 1; %>)中.格式:单行/多行或多行链接(例如if/then/else散布着html)但不能用于声明函数.

<%= %>是代码渲染块(用于内联表达式).用作速记<%Response.Write(value)%>

<%: %>(非正式地称为" Html编码代码块 ")与之前相同,但输出是HTML编码的.

<%# %>是一个数据绑定表达式.用于单向(只读)或双向(更新)通过结合Eval,Xpath,Bind,或的表达式(例如,下拉式控制的所选择的值).通过控件的属性标记将表达式绑定到数据绑定控件属性,或者将其作为单独的标记绑定,该标记生成具有DataBoundLiteralControlText属性值的实例.表达式由DataBinding控件的事件处理程序评估.

<%#: %>是一个HTML编码数据绑定表达式(ASP.NET 4.5中的新增功能).它结合了<%# %>和的功能<%: %>.

<%$ %>是一个ASP.NET表达式生成器.用于通过服务器标记属性控制属性的运行时表达式绑定.与AppSettings,ConnectionStringsResources(或您自己的自定义扩展一起使用,例如使用代码隐藏属性).这些赋值将添加到OnInit()生成的类的方法中.

<%-- --%>是服务器端注释.用于从编译中排除内容(如果在代码隐藏中引用注释掉的控件,则会生成错误).与html注释不同,内容不会包含在输出中.

是服务器端包含指令.用于将文件的内容插入页面,控件或全局文件中.在用户控件过度使用且无法使用母版页的情况下很有用.

还有一个代码声明块,最终的嵌入式代码块形式.


这用于包含从ASP.NET标记生成的类的其他成员(方法等).这些只是"主要是为了保持与旧的ASP技术的向后兼容性",并且不建议使用.


它们被称为ASP.NET表达式.请参阅http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx

2> Jon Skeet..:

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

编辑:我之前认为这<%# ... %>不包含在列表中,但当然是在数据绑定表达式下.卫生署.



3> Cerebrus..:

每当我对服务器端语法有疑问时,我总是发现这个QuickStart页面非常有用.它详细介绍了8种不同的标记样式,并提供了每种样式的说明性示例,并解释了它们的优缺点.

但是,它没有提到Page level指令,其中IIRC在Quickstart的其他地方有详细说明.

当然,这与ASP.NET 2.0相关.



4> 小智..:

微软有时会称他们为"掘金"或"代码掘金".

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有