2011-09-29 217 views
2

我剛剛完成了一件事,想出另一個數據綁定問題。DataBinding:不包含名稱爲'(columnName)'的屬性

我剛剛實現了一個連接2個表的select語句,所以在我的asp頁面上,我可以查看第二個表中的一列,看看是否存在或不存在集成,並更改該備註的結果

我看了類似的問題,並嘗試瞭解決方案,但它並沒有爲我工作。確切的錯誤信息是:

DataBinding:'System.Data.DataRowView'不包含名稱爲'Integration'的屬性。

SELECT語句:

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 

如果使用IM IT:

<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"))%>'> 

如果有任何其他的信息,我需要,我會嘗試得到它,任何幫助表示讚賞。

感謝

有2個部分的答案:

首先,我完全地忘記t2.Integration添加到我今天早上選擇我做了以後,當我跑這對測試查詢

二,我用的是:Eval(「Integration」)。ToString()..之後我把ToString從頁面開始工作..謝謝大家

+0

向我們展示整個表格/ gridview的代碼。您很可能錯過了數據源中的「集成」字段,但在表中使用它。編輯**謝謝布萊克甚至沒有查看整個選擇語句。 – pat8719

+2

可能是?他在select語句中缺少集成。 –

回答

1

沒有一個名爲Integration的列,它會導致錯誤你有。

做一個INNER JOIN自動不會顯示不存在的東西。您需要將您的SQL語句更改爲OUTER JOIN,然後使用ItemCatalogProfile表檢查是否存在某個字段。

+0

哇..我現在看到了,當我測試結果時,我把它放在我的測試查詢中,但完全錯過了,因爲我把它放在這裏,我會添加並看到結果 –

1

在您的查詢任何地方都沒有出現"Integration"列。

1

看起來像select語句中缺少IntegrationCatalogID列。

相關問題