C# 评估对象属性
我有以下两个对象C# 评估对象属性,c#,asp.net,C#,Asp.net,我有以下两个对象 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
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();
我想做的是访问每个ProgramObj中PersonObj的全名属性
我已经尝试了多种方法,唯一能让我获得输出值的方法是
<%# DataBinder.Eval(Container.DataItem, "id") %>
及
但我得到一个错误,它无法将DataRecordInternal类型的对象强制转换为PersonObj。想法?如果您这样做,您的ItemDataBound应该可以工作:
PersonObj myPerson = ((ProgramObj)e.Item.DataItem).myPerson;
lblUserName.Text = myPerson.full_name;
由于中继器绑定到ProgramObj对象列表,因此数据项将是ProgramObj。因此,如果需要PersonObj对象,则需要获取myPerson属性。请参阅asp.net上的文章。另外,请参见此处的问题
PersonObj myPerson = (PersonObj)e.Item.DataItem;
lblUserName.Text = myPerson.Full_Name_RFL;
<%# DataBinder.Eval(Container.DataItem, "myPerson") %>
PersonObj myPerson = ((ProgramObj)e.Item.DataItem).myPerson;
lblUserName.Text = myPerson.full_name;