如何访问Repeater中的元素属性?

时间:2009-04-28 11:55:40

标签: asp.net list repeater datasource

我有一个 Repeater 控件,其dataSource设置了一个类型化对象列表,并且在内联代码中我想访问 ItemTemplate 标记内的元素属性。我用eval表达式尝试了这个但它不起作用:

<ItemTemplate>
  <tr>
    <td><%# Eval("code") %></td>
    <td><%# Eval("description") %></td>
  </tr>
</ItemTemplate>

任何想法?
谢谢!!

2 个答案:

答案 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>