List<MasterBook> listOfBooks = new List<MasterBook>();
我把masterbook对象放到列表中之后有3个字段(name,id和active)
GridView1.DataSource = listOfBooks;
GridView1.DataBind();
在网络表单中
<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的名字 这个代码在列中打印bookmaster如何使其键入名称
答案 0 :(得分:4)
更改:
<%#Container.DataItem%>
要:
<%#Eval("name")%>
答案 1 :(得分:3)
将其投射到MasterBook:
Text="<%# ((MasterBook) Container.DataItem).Name %>">
答案 2 :(得分:0)
快速,肮脏的黑客解决方法是重载ToString()
类的MasterBook
方法以返回该名称。如果你这样做,请在之后提交seppuku。
优雅而优雅的方式是an object datasource。这样,您可以将网格视图的列绑定到对象的属性。对于DataList或其他模板化数据控件,您可以将对象的属性绑定到模板中数据控件的子控件。
中间路径是hutchonoid的答案:评估对象的属性,而不是对象本身。
答案 3 :(得分:0)
使用以下语法:
<asp:Label ID="BookNameText" runat="server"
Text="<%# ((MasterBook)Container.DataItem).Name %>">