我刚刚完成了一件事,想出了数据绑定的另一个问题。
我刚刚实现了一个连接2个表的select语句,所以在我的asp页面上,我可以查看第二个表中的一列,看看是否有正在进行的集成,并改变该注释的结果
我已经看过类似的问题并尝试了解决方案,但它对我没用。确切的错误消息是:
DataBinding:'System.Data.DataRowView'不包含名为'Integration'的属性。
选择声明:
SELECT productid,
productname,
productsku,
quantity,
productprice,
productprice * quantity AS totalprice,
shoppingcartrecid,
uom,
packingslip,
logodesignnumber,
customtext,
nametext,
extracharge,
custitem,
t1.catalogtype,
catalogid,
relatedchargeid,
upsflag
FROM shoppingcart t1
INNER JOIN itemcatalogprofile t2
ON t1.catalogtype = t2.catalogtype
我在哪里使用它:
<asp:HyperLink ID="HyperLink" runat="server" style="cursor:pointer; text-decoration:none;"
NavigateUrl='<%# (Eval("Integration").ToString() == "Y") ? String.Format("~integration/vendorframe.aspx?CatalogID={0}",Eval("CatalogID")) : String.Format("~/storefront.aspx?CatalogID={0}",Eval("CatalogID"))%>'>
如果有任何其他信息我需要我会尝试获取它,感谢任何帮助。
由于
答案分为两部分:
首先,我在完成测试查询后运行它时,完全忘记将t2.Integration添加到我的选择中
其次,我正在使用:Eval(“Integration”)。ToString()..我把ToString关闭后,页面开始工作..谢谢大家
答案 0 :(得分:1)
没有名为Integration的列会导致您遇到错误。
执行INNER JOIN自动不会显示不存在的内容。您需要将SQL语句更改为OUTER JOIN,然后使用ItemCatalogProfile表检查是否存在某个字段。
答案 1 :(得分:1)
您的查询中似乎没有 "Integration"
列。
答案 2 :(得分:1)
看起来select语句中缺少Integration
和CatalogID
列。