将DataList绑定到对象的方法而不是属性

时间:2009-06-01 15:45:50

标签: c# asp.net datalist

我有一个看起来像这样的课程:

public class Person
{
  public string Name { get; set; }

  public string Thing() { 
    ...
  }

  ...

}

如果我有一个IList<Person>我正在使用它作为DataList控件的数据源,并且DataList看起来像这样:

<asp:DataList runat="server" RepeatColumns="1" ID="Profiles">
    <ItemTemplate>                                  
        <%#Eval("Name") %>          
    </ItemTemplate>
</asp:DataList>

如何通过调用数据源对象的Name方法替换数据源的Thing()属性?

2 个答案:

答案 0 :(得分:3)

<%#((Person)Container.DataItem).Thing()%>

答案 1 :(得分:1)

使用属性。该属性将为“Name”(或其他),此属性上的“Getter”将是您希望用于生成值的方法。虽然可以从这里调用函数,但我认为使用属性会更好。