首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

DataBinding:“System.Data.DataRowView”不包含名为“zh_Staff_1”的属性。

2011-12-27 
DataBinding:“System.Data.DataRowView”不包含名为“zh_Staff_1”的属性。--------在线等DataBinding:“System

DataBinding:“System.Data.DataRowView”不包含名为“zh_Staff_1”的属性。--------在线等
DataBinding:“System.Data.DataRowView”不包含名为“zh_Staff_1”的属性。
一个关联表,其中一个表A和同一个表zh_Staff关联两次

C# code
<asp:BoundField DataField="zh_Staff.Staff_name" HeaderText="制单人">                    <ItemStyle HorizontalAlign="Center" Width="60px" />                    <HeaderStyle HorizontalAlign="Center" Width="60px" />                </asp:BoundField>


GridView中用了一个按钮,为什么上面那样可以,这个就不行
C# code
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("zh_Staff_1.Staff_name") %>' CommandArgument='<%# Eval("Supplier") %>' OnClick="LinkButton1_Click"></asp:LinkButton>


[解决办法]
zh_Staff.Staff_name
zh_Staff_1.Staff_name 这两个就不一样啊
可以看看你的sql语句吗?
[解决办法]
哦,那你这个zh_Staff_1是什么来的?
不可以<%# Eval("Staff_name") %>这样吗?
就我所知Eval("字段名"),中间填的是字段名啊。我一直都是这样用的,没有试过 "zh_Staff_1.Staff_name"这样的用法
[解决办法]
那得看看你的Sql语句了啊!
确认数据字段没有错啊?

[解决办法]
Eval("zh_Staff_1.Staff_name") 
这个东西不是这样写吧?
[解决办法]
'<%# Eval("Number").ToString() %>'
看看这样行不!
[解决办法]
C# code
<asp:BoundField DataField="[color=#FF0000]zh_Staff.Staff_name[/color]" HeaderText="制单人">                    <ItemStyle HorizontalAlign="Center" Width="60px" />                    <HeaderStyle HorizontalAlign="Center" Width="60px" />                </asp:BoundField>
[解决办法]
C# code
<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 来使用了,所以出错了

热点排行