DataBinding:“System.Data.DataRowView”不包含名为“zh_Staff_1”的属性。--------在线等
DataBinding:“System.Data.DataRowView”不包含名为“zh_Staff_1”的属性。
一个关联表,其中一个表A和同一个表zh_Staff关联两次
<asp:BoundField DataField="zh_Staff.Staff_name" HeaderText="制单人"> <ItemStyle HorizontalAlign="Center" Width="60px" /> <HeaderStyle HorizontalAlign="Center" Width="60px" /> </asp:BoundField>
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("zh_Staff_1.Staff_name") %>' CommandArgument='<%# Eval("Supplier") %>' OnClick="LinkButton1_Click"></asp:LinkButton><asp:BoundField DataField="[color=#FF0000]zh_Staff.Staff_name[/color]" HeaderText="制单人"> <ItemStyle HorizontalAlign="Center" Width="60px" /> <HeaderStyle HorizontalAlign="Center" Width="60px" /> </asp:BoundField>
[解决办法]
<asp:BoundField DataField="Staff_name" HeaderText="制单人">
[解决办法]
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("Staff_name") %>' CommandArgument='<%# Eval("Supplier") %>' OnClick="LinkButton1_Click"></asp:LinkButton>
直接这样写不可以吗?
[解决办法]
既然是同一个Staff_name,又何必写两次,如果要写两次,应该给zh_Staff_1.Staff_name一个别名 as Staff_name1 啊
变通的方法有很多,又何必执拗于代码上呢。本身你这样写SQL语句就有问题,搜索出来的表里本来就不应该有同名的字段
[解决办法]
<asp:BoundField DataField="zh_Staff.Staff_name" HeaderText="制单人">
<ItemStyle HorizontalAlign="Center" Width="60px" />
<HeaderStyle HorizontalAlign="Center" Width="60px" />
</asp:BoundField>
这里用zh_Staff.Staff_name ,会被作为DataTable的字段名
Eval("zh_Staff_1.Staff_name")
这里的zh_Staff_1.Staff_name 不是被当作 DataRowView["zh_Staff_1.Staff_name "]来使用
而是被当作DataRowView.zh_Staff_1.Staff_name 来使用了,所以出错了