在ASP.NET控件中,何时应该使用#和=?

13 浏览
0 Comments

在ASP.NET控件中,何时应该使用#和=?

我多年来一直在使用ASP.NET,但我总是记不住何时使用#和=是合适的。

例如:

<%= Grid.ClientID %>

或者

<%# Eval("FullName")%>

有人能解释一下何时应该使用每个的吗,这样我就能在脑海中记住了吗?#只在支持数据绑定的控件中使用吗?

0
0 Comments

当在ASP.NET控件中使用#和=的时候,会出现以下问题和解决方法。

问题的出现原因:

在ASP.NET控件中使用#和=会有一些不同之处,这可能导致开发者困惑和错误。在这个问题中,有人质疑在使用控件属性时应该使用#还是=。

解决方法:

根据Dan Crevier所写的博客文章,我们可以了解到以下解决方法:

1. 在ASP.NET控件中,使用<%=表达式会在渲染时被计算。而使用<%#表达式会在DataBind()时被计算,如果没有调用DataBind()方法,这些表达式将不会被计算。

2. 另一个不同之处是,<%#表达式可以作为服务器控件的属性使用,而<%=表达式则不可以。

3. <%=表达式不支持的原因是,它是Response.Write的一种简写形式,而Response.Write是在页面渲染完成后,将响应流发送回浏览器时才发生的。

以上就是这个问题出现的原因和解决方法的总结。

0
0 Comments

在ASP.NET控件中,我们经常会使用到一些特殊的标记符号,包括#和=。这些标记符号在ASP.NET中具有不同的用途。下面是一些常见的标记符号以及它们的用法:

- <%@ - 页面指令

- <%$ - 资源访问

- <%= - 显式输出到页面

- <%# - 数据绑定

- <%-- - 服务器端注释块

- <%: - 输出到页面,但进行了HTML编码(ASP.NET 4新增)

- <%#: HTML编码的数据绑定(ASP.NET 4.5新增)

并不仅仅是用于资源访问,<%$ 还可以用于表达式构建器(ExpressionBuilders),其中包括 ConnectionStrings、AppSettings 和 Resource 在内。你也可以轻松地编写自己的表达式构建器。关于表达式构建器的更多信息可以在这里找到:msdn.microsoft.com/en-us/library/…

关于这些标记符号的解释,这里有一个很好的解释:michielvoo.net/blog/…

至于术语"bee-stings"的来源,它源自于默认的Visual Studio颜色方案中,这些标记符号被以黑色和黄色高亮显示,所以%>看起来有点像蜜蜂蜇伤。

谢谢,我只是对这个术语在ASP代码块中的来源很好奇,以前从未听说过。

看起来你贴的链接在2013年已经失效了,但仍然可以在这里找到:Expressions vs. Statements, part 2: ASP.NET Code Block Types via Archive.org

0
0 Comments

在ASP.NET控件中,应该何时使用“#”和“=”?这个问题的出现是因为有人想知道这两个符号的使用场景和区别。以下是解决方法:

<%= %>等同于在任何位置使用Response.Write("")。

<%# %>用于数据绑定,只能在支持数据绑定的地方使用(如果在代码后台调用了Page.DataBind(),则可以在页面级别的控件之外使用这些)。

数据绑定表达式概述

请查看Gui Starbuck的答案:stackoverflow.com/questions/115159/…,了解<%= 和<%# 之间的区别。

0