在我的代码隐藏中,我希望设置标签的文本。下面是ASPX代码:C#如何在列表视图中设置标签文本?
<asp:ListView ID="lstRegistrations" runat="server">
<LayoutTemplate>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<th width="80" align="left">
<asp:Label ID="lblDate" runat="server" Text="<%= GetTranslatedText(7726) %>" />
</th>
<th width="150" align="left">
<asp:Label ID="lblAuthor" runat="server" Text="<%= GetTranslatedText(7728) %>" />
</th>
<th width="290" align="left">
<asp:Label ID="lblRegistration" runat="server" Text="<%= GetTranslatedText(6671) %>" />
</th>
<th width="60" align="left">
<asp:Label ID="lblVersion" runat="server" Text="<%= GetTranslatedText(13) %>" />
</th>
</tr>
<tr>
<td colspan="4" style="height: 3px;"></td>
</tr>
<tr runat="server" id="itemPlaceholder"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr style="background-color:#FFFFD0;">
<td style="padding-left: 3px">
<%# ((DateTime)Eval("Date")).ToString("d-M-yyyy") %>
</td>
<td>
<%# GetStaffNameById((int)Eval("StaffID")) %>
</td>
<td>
<%# Server.HtmlEncode(Eval("Text").ToString())%>
</td>
<td>
<%# Eval("Version") %>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr style="background-color: #C89292">
<td style="padding-left: 3px">
<%# ((DateTime)Eval("Date")).ToString("d-M-yyyy") %>
</td>
<td>
<%# GetStaffNameById((int)Eval("StaffID")) %>
</td>
<td>
<%# Server.HtmlEncode(Eval("Text").ToString())%>
</td>
<td>
<%# Eval("Version") %>
</td>
</tr>
</AlternatingItemTemplate>
</asp:ListView>
在顶部,在layoutTemplate中我有4个标签,我要改变的文本属性。我试图通过使用lstRegistrations.FindControl()方法来访问标签,但此方法找不到标签。我也尝试了Page.FindControl()方法,但是这种方法要么找不到标签。然后我想,我创建一个方法并在我的aspx页面中调用它(请参阅我的代码)。我没有得到任何错误,但我没有看到任何文字!
我在做什么错?
我已经使用了第一种方式。我认为这是最好的方法。日Thnx – Martijn 2009-10-05 09:53:34