在asp项目中显示来自sqldatasource的数据列表中的数据时出错

本文关键字:数据 出错 列表 sqldatasource asp 项目 显示 | 更新日期: 2023-09-27 18:07:33

我正在为一个类建立一个网站,并遇到了一个错误,我找不到解决方案。我在页面上有一个下拉列表,它显示客户名称并将所选值设置为从sqldatasource(来自access数据库的数据表- fig1)选择的客户id(这工作得很好,因为我在添加第二个sqldatasource之前已经测试过了)。我向页面添加了一个数据表控件,并为数据表绑定了第二个sqldatasource。我使用配置数据源向导配置数据源,如fig2所示。然后,我使用向导测试查询返回的数据,看看它是否有效,向导显示返回了我想要的数据。因此,我将数据列表绑定到数据源,现在itemtemplate(在html源视图中)包含将显示值的数据绑定标签:

Products.Name:
<asp:Label ID="Products_NameLabel" runat="server" Text='<%# Eval("Products.Name") %>' />
<br />
Technicians.Name:
<asp:Label ID="Technicians_NameLabel" runat="server" Text='<%# Eval("Technicians.Name") %>' />
<br />
Incidents.DateOpened:
<asp:Label ID="Incidents_DateOpenedLabel" runat="server" Text='<%# Eval("Incidents.DateOpened") %>' />
<br />
Incidents.DateClosed:
<asp:Label ID="Incidents_DateClosedLabel" runat="server" Text='<%# Eval("Incidents.DateClosed") %>' />
<br />
Incidents.Description:
<asp:Label ID="Incidents_DescriptionLabel" runat="server" Text='<%# Eval("Incidents.Description") %>' />

标签现在绑定到从第二个源....返回的数据至少看起来是这样。当我运行它并选择一个应该返回sqldatasource select语句中所选择的数据的客户时,我的程序崩溃并给出以下错误:

数据绑定:"System.Data。DataRowView'不包含名为'Products'的属性。

我不明白为什么它说datarowview不包含具有该名称的列,当我在向导中测试它时,sqldatasource清楚地返回它。有人能帮忙吗?

注:很抱歉给了imgur的链接…显然,你必须有更高的代表发布图片

在asp项目中显示来自sqldatasource的数据列表中的数据时出错

我试过了,生成的HTML没有像你的代码那样以表名为前缀。

我手动添加了表名并复制了您的错误。

所以,如果你有重复的列名,你需要修改SQL语句使用别名:

Products.Name as Products_Name