2008-09-16 58 views
3

基本上我想找到一种方法,DDO是这样的:如何将一个标签的标记“绑定” Text属性

<asp:Label ID="lID" runat="server" AssociatedControlID="txtId" Text="<%# MyProperty %>"></asp:Label> 

我知道我可以从代码中设置它的背后(写入lId.Text = MyProperty),但我更喜欢在标记中做,而我似乎无法找到解决方案。 (myProperty的是一个字符串属性) 欢呼

回答

0

呼叫lID.Databind()的代码隐藏

2

保留标记为是做出的Page.DataBind()的调用;在你的代码背后。

2
<asp:Label id="lID" runat="server"><%= MyProperty %></asp:Label> 

因为asp.net标签不允许<%%>构造,您不能使用文本= “<%= myProperty的%>”。

+0

谢谢,我已经走了这个解决方案,但即使调用的Page.DataBind( )工作得很好。 – 2008-09-16 15:34:43

0
<div> <%=MyProperty"%></div> 
+0

标签控件甚至不会渲染div标签。如果你建议,这可能是有意义的,但即使这样也不会有相同的效果,因为你避免了标签的所有属性,并且不允许使用主题。 – 2008-09-16 15:33:55

+0

是的,在我的情况下,我不需要div,因为我使用控件的AssociatedControlId属性来为文本框创建标签。 – 2008-09-16 15:37:08

8

你可以做

<asp:Label runat="server" Text='<%# MyProperty %>' /> 

然后一个的Page.DataBind()的代码隐藏。

+0

您遗漏了左边的%...应该是: `Text ='<%#MyProperty%>'' 无论如何,谢谢。你有唯一答案是99%正确的。 :) 也值得注意,你可以这样做: `Text ='<%#myClass.MyProperty%>'' – maplemale 2014-08-25 00:44:29

0

当您使用<%#%myProperty的>声明你需要数据绑定,但使用<%= myProperty的%>你没有(这类似于只是写的Response.Write(myProperty的)。

0

你可以这样做:

<asp:Label ID="lblCurrentTime" runat="server"> 
    Last update: <%=DateTime.Now.ToString()%> 
</asp:Label> 
相关问题