Asp.net将列表绑定到gridview
本文关键字:gridview 绑定 列表 net Asp | 更新日期: 2023-09-27 18:18:55
List<MasterBook> listOfBooks = new List<MasterBook>();
之后,我把masterbook对象顺便说一下,它有3个字段(name,id和active)放入列表
GridView1.DataSource = listOfBooks;
GridView1.DataBind();
web表单中的 <Columns>
<asp:TemplateField HeaderText="Book Name">
<ItemTemplate>
<asp:Label ID="BookNameText" runat="server"
Text="<%#Container.DataItem%>">
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
问题是我想在gridview列中显示图书管理员的名字这段代码在列中打印bookmaster我如何使它键入名称
变化:
<%#Container.DataItem%>
:
<%#Eval("name")%>
将其强制转换为MasterBook:
Text="<%# ((MasterBook) Container.DataItem).Name %>">
快速而肮脏的破解方法是重载MasterBook
类的ToString()
方法以返回该名称。如果你做了,请在事后切腹。
最优雅的方式是创建一个对象数据源。这样你就可以将网格视图的列绑定到对象的属性上。在DataList或其他模板化数据控件的情况下,你可以将对象的属性绑定到数据控件的模板中的子控件。
中间路径在hutchonoid的答案中:计算对象的一个属性,而不是对象本身。
使用此格式:
<asp:Label ID="BookNameText" runat="server"
Text="<%# ((MasterBook)Container.DataItem).Name %>">