2012-02-02 75 views
0

我有以下兩個對象EVAL對象屬性

public partial class ProgramObj 
{ 
    public int id; 
    public PersonObj myPerson; 
} 

public class PersonObj 
{ 
    public int id; 
    public string full_name; 
} 

我從一個SqlDataReader分配ProgramObj的名單到中繼

program_list.DataSource = reader; 
program_list.DataBind(); 

我想要做什麼,是訪問FULL_NAME屬性PersonObj在每個ProgramObj 我試過了很多東西,唯一讓我輸出的值是

<%# DataBinder.Eval(Container.DataItem, "id") %> 

這讓我的ProgramObj的ID,但我想獲得personObj對象的名字,我想

<%# DataBinder.Eval(Container.DataItem, "myPerson.full_name") %> 

會的工作,但它似乎並沒有得到我的任何地方。

我也嘗試了用的ItemDataBound

PersonObj myPerson = (PersonObj)e.Item.DataItem; 
lblUserName.Text = myPerson.Full_Name_RFL; 

<%# DataBinder.Eval(Container.DataItem, "myPerson") %> 

,但我得到一個錯誤,它不能施放型DataRecordInternal的目的是personObj對象。想法?

PersonObj myPerson = ((ProgramObj)e.Item.DataItem).myPerson; 
lblUserName.Text = myPerson.full_name; 

Becausse中繼勢必ProgramObj列表對象的DataItem將是ProgramObj:如果你這樣做

回答

1

你的ItemDataBound應該工作。所以如果需要PersonObj對象,那麼您需要獲取myPerson屬性。

+0

完美,謝謝 – Josh 2012-02-02 22:37:58