最近感觉大家在数据绑定控件中的写法很乱,本来我想告诉大家一下全部的,可刚要开口,发现自己脑子里也没有一个很完整的概念,自己总结一下,不知道全不全
这里有4个概念 Container是你要绑定数据的容器控件指父控件,DataItem指父控件所绑定的数据源的当前行,还有Eval和Bind这两个在这里不说了
假设有两个数据源,1.一个泛型类list<Student>,或者DataTable
他们都有一个字段ID
1.<%#Eval("ID") %>(这也是3种写法)
2.<%# ((Student)Container.DataItem).ID%>
3.<%# ((System.Data.DataRowView)Container.DataItem)["ID"].ToString() %>
4.<asp:Label ID="Label1" runat="server" Text='<%# ((Student)Container.DataItem).ID%>'>
5.<asp:Label ID="Label1" runat="server" Text='<%# ((System.Data.DataRowView)Container.DataItem)["ID"].ToString() %>'>
6.<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ID")%>'>
7.<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ID")%>'>
8.<asp:Label ID="Label1" runat="server" Text='<%#Eval("ID") %>'></asp:Label>
这里Bind我就不写了