什么时候应该在 ASP.NET 控件中使用 # 和 =?

Posted

技术标签:

【中文标题】什么时候应该在 ASP.NET 控件中使用 # 和 =?【英文标题】:When should I use # and = in ASP.NET controls? 【发布时间】:2010-09-12 00:35:19 【问题描述】:

我已经使用 ASP.NET 多年,但我不记得何时使用 # 和 = 是合适的。

例如:

<%= Grid.ClientID %>

<%# Eval("FullName")%>

有人能解释一下什么时候应该使用它们,这样我就可以牢记在心了吗? # 是否仅用于支持数据绑定的控件?

【问题讨论】:

相关(重复?):In ASP.NET, what are the different ways to inline code in the .aspx?. 我没有检查这背后的理论,但 【参考方案1】:

有几种不同的“蜜蜂叮咬”:

&lt;%@ - 页面指令 &lt;%$ - 资源访问 &lt;%= - 显式输出到页面 &lt;%# - 数据绑定 &lt;%-- - 服务器端评论块

ASP.Net 4 中的新功能:

&lt;%: - 写入页面,但使用 html 编码

ASP.Net 4.5 中的新功能:

&lt;%#: - HTML 编码数据绑定

【讨论】:

msdn.microsoft.com/en-us/library/… 这里有一个很好的解释:michielvoo.net/blog/… bee-stings 这句话从何而来? @Lankymart 在默认 Visual Studio 配色方案中以黑色和黄色突出显示,因此 %&gt; 看起来有点像蜜蜂蜇伤。 谢谢,我只是对这个短语与 ASP 代码块相关的来源很感兴趣,我以前从未听说过。【参考方案2】:

相当于在任何地方执行 Response.Write("")。

用于数据绑定,只能在支持数据绑定的情况下使用(如果您在代码隐藏中调用 Page.DataBind(),则可以在控件外部的页面级别上使用这些)

Databinding Expressions Overview

【讨论】:

见桂星巴克回答***.com/questions/115159/…了解的区别 【参考方案3】:

这是一个great blog post by Dan Crevier,他介绍了他编写的一个测试应用程序以显示差异。

本质上:

【讨论】:

" 是 Response.Write 的快捷方式,它发生在 *after* 页面被呈现并且响应被流回浏览器。 这些才是真正的区别

以上是关于什么时候应该在 ASP.NET 控件中使用 # 和 =?的主要内容,如果未能解决你的问题,请参考以下文章

什么时候应该使用 Localize 控件而不是 Literal?

ASP.NET中,HiddenField隐藏控件的用法

什么时候应该在 ASP.NET MVC 中使用异步控制器?

OCX控件如何在网站中使用? asp.net

我应该为 ASP.net 创建一个 JQuery 服务器控件以便在我的应用程序中最好地使用它吗?

asp.net:子控件的Visible属性啥时候自动设置?