2009-06-01 43 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

相關問題