2009-06-01 74 views
1

我有一个类,看起来像这样:绑定一个DataList到对象的方法,而不是一个属性

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

    public string Thing() { 
    ... 
    } 

    ... 

} 

如果我有我使用作为一个DataList控件的数据源的IList<Person>,和DataList控件看起来是这样的:

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

如何与数据源对象的Thing()方法的调用替换数据源的Name财产?

回答

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

使用属性。该属性将是“名称”(或其他),此属性上的“Getter”将是您希望用来生成值的方法。虽然你可以从这里调用一个函数,我认为这将是更好的设计使用属性。

+0

我不能只是“使用财产” - 为了明确问题,我发布的代码被简化了。实际上,将方法改为财产并不是一个可行的选择。 – kristian 2009-06-01 15:54:26

相关问题