实体结构这样的
比如哈
class Student
{
  string username;
  int Age;
.....  Teacher teacher;//老师---这个字段和上面的不一样的是个Teacher类型的
}老师的实体类
Teacher
{
   string username;
   int Age;
}页面显示这样:
GridView:----------------------------------------------------------------
学生姓名  |  学生年龄 | 老师姓名 |老师年龄
------------------------------------------------------------------
datatable的绑定好说,现在绑定List<Student>的话不知道,怎么指定teacher这种复合类型字段的字段给GridView了。
以上虚构的需求哈。

解决方案 »

  1.   

            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Label ID="lblUserName" runat="server" Text='<%#Eval("Te.TecherName") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                
            </Columns>
            </asp:GridView>
        class StudentInfo
        {
            public int Id { get; set; }
            public TeacherInfo Te { get; set; }
        }
        class TeacherInfo
        {
            public string TeacherName { get; set; }
        }
        protected void Page_Load(object sender, EventArgs e)
        {        if (!Page.IsPostBack)
            {
                List<StudentInfo> studentList = new List<StudentInfo>();
                studentList.Add(new StudentInfo() { Id = 1, Te = new TeacherInfo() { TeacherName = "LICAI" } });
                GridView1.DataSource = studentList;
                GridView1.DataBind();
            }
        }