2009-06-12 61 views
1

以下几点有什么区别?您是否确实需要ASP.NET标签中的Text属性?

<asp:Label runat="server">Hello World</asp:Label> 

<asp:Label runat="server" Text="Hello World"></asp:Label> 

更新:

如果它们是完全一样的,那么为什么使用单值数据绑定和显示transactionCount正确的值时,确实

<asp:Label ID="Label1" runat="server"> 
There were <%#transactionCount%> transactions today 
</asp:Label> 

绑定正确,同时...

<asp:Label ID="Label1" runat="server" Text="There were <%#transactionCount%> transactions today"> 
</asp:Label> 

在页面中没有显示transactionCount的值?


再次更新:

我理解的点正在取得有关使用文字对照。我会相应地拍我的脸 - 但它仍然不能解决问题 - 尽管也许正在接近解决方案。

如果我使用...

<asp:Literal ID="Label1" runat="server" Text="<%#transactionCount%>"></asp:Literal> 

...我看到transactionCount的价值在网页中显示出来。

另一方面,如果我把任何字符或单词放在单值数据绑定字段的前面,例如

<asp:Literal ID="Label1" runat="server" Text="No. <%#transactionCount%>"></asp:Literal> 

... transactionCount不会出现。

+1

他们是一样的乔。解析器将它们视为相同。 – 2009-06-12 12:48:53

+0

你真的应该为此使用文字 - 正如另一张海报所说,标签用于标记表单域。在您提供的上下文中,它在语义上不正确。 – 2009-06-12 13:42:41

回答

4

它们将在您的最终HTML中呈现相同。但Text属性对编程设置后面的代码中显示的文本非常有用。

2

是的,除了满足ITextControl接口之外。请记住,99%的开发者使用Labels错误 - 通常应该使用Literals来保存输出,如果不是只有<%# Databind() %>。对于大多数情况,您不需要服务器端跨度。

哪里应该使用的标签是在你的表单创建一个标签字段:

<asp:Label runat="server" id="LabelForFirstName" Text="First Name:" AssociatedControlID="firstname /> 
<asp:TextBox runat="server" id="FirstName" /> 

给人一种标签联系在一起的名字标签和语义正确的HTML。

0

如果将文本设置为Hello World,则无法从代码隐藏文件中主动更改其值。

然而,woukd让你改变值作为mytxt.Text =“新文本”

但它们将呈现相同的方式。

0

他们不同的另一个原因是支持implicit localization。在资源文件中指定ID.Property(即Label1.Text)。

相关问题