我有一个 Repeater 控件,其dataSource设置了一个类型化对象列表,并且在内联代码中我想访问 ItemTemplate 标记内的元素属性。我用eval表达式尝试了这个但它不起作用:
<ItemTemplate>
<tr>
<td><%# Eval("code") %></td>
<td><%# Eval("description") %></td>
</tr>
</ItemTemplate>
任何想法?
谢谢!!
答案 0 :(得分:2)
您可以使用:<%# DataBinder.Eval(Container.DataItem, "field name") %>
答案 1 :(得分:0)
您的对象是否具有名为“code”的属性。记住这是区分大小写的。
e.g。如果你的对象是......
public class MyObj
{
public string Code { get; set; }
public string Description { get; set; }
}
您正在将Collection<MyObj>
绑定到数据源
然后你的转发器看起来像......
<asp:repeater id="Repeater1" runat="server">
<headertemplate>
<table border="1">
<tr>
<td><b>Code</b></td>
<td><b>Description</b></td>
</tr>
</headertemplate>
<itemtemplate>
<tr>
<td> <%# Eval("Code") %> </td>
<td> <%# Eval("Description") %> </td>
</tr>
</itemtemplate>
<footertemplate>
</table>
</footertemplate>
</asp:repeater>