数据绑定:不包含名称为“CategoryId”的属性错误

时间:2011-06-26 17:18:29

标签: c# .net asp.net

我正在阅读一个教程并尝试使用此行时出现此错误,有人可以提出建议,谢谢:

<ItemTemplate>               

<a class='MostPopularItemText' href='ProductDetails.aspx?productID=<%# Eval("ProductId") %>&&CategoryId=<%# Eval("CategoryId") %>'><%# Eval("ModelName") %></a><br />                 

</ItemTemplate>

某些事情与'CategoryId'不对,因为如果我把它拿出来它会起作用:

<aclass='MostPopularItemText'href='ProductDetails.aspx?productID=<%# Eval("ProductId") %>&&CategoryId=<%# Eval("CategoryId") %>'><%# Eval("ModelName") %></a><br/>    

<aclass='MostPopularItemText'href='ProductDetails.aspx?productID=<%# Eval("ProductId") %>'><%# Eval("ModelName") %></a><br/>  

代码隐藏:

private void WriteAlsoPurchased(int currentProduct)

{

   using (CommerceEntities db = new CommerceEntities())

    {

       try

          {

            var v = db.SelectPurchasedWithProducts(currentProduct);

                   RepeaterItemsList.DataSource = v;

                   RepeaterItemsList.DataBind();

           }

       catch (Exception exp)

           {

            throw new Exception("ERROR: Unable to Write Also Purchased - " + exp.Message.ToString(), exp);  <------location where the exception is thrown

            }

      }

}

'SelectPurchasedWithProducts'存储过程:

ALTER PROCEDURE

dbo.SelectPurchasedWithProducts

@ProductID int

AS

SELECT TOP 5 

OrderDetails.ProductID,

Products.CategoryID,

Products.ModelName,



SUM(OrderDetails.Quantity) as TotalNum

FROM

    OrderDetails

INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID

WHERE

  OrderID IN 

(

/* This inner query should retrieve all orders that have contained the productID */

SELECT DISTINCT OrderID 

FROM OrderDetails

WHERE ProductID = @ProductID

)

AND

OrderDetails.ProductID != @ProductID 

GROUP BY

OrderDetails.ProductID, Products.CategoryID, Products.ModelName 

ORDER BY

TotalNum DESC

RETURN

3 个答案:

答案 0 :(得分:2)

您的属性被命名为CategoryID而不是CategoryId

<%# Eval("CategoryId")  %>

应该阅读

<%# Eval("CategoryID")  %>

答案 1 :(得分:2)

一些想法:

  • 怎么样&lt;%#Eval(“Products.CategoryId”)%&gt;?

  • 两个&符号是否会导致问题? &安培;&安培;类别ID = ...

  • 此外,尝试将链接外的CategoryId单独绑定并验证值是否输出。您的代码对我来说很好,这就是为什么我不得不怀疑它是否只是您的链接结构的方式。

答案 2 :(得分:1)

好的我想我得到了它,在更新了S Proc后,我必须访问我的模型浏览器功能,展开EntityContainer,输入Function Imports并单击Update按钮。

我希望这能帮助那些人

“数据绑定:不包含名称为'xxx'的属性错误。”  要么 “该类型的成员'xxx'在数据读取器中没有相应的具有相同名称的列。”

似乎一切都已到位。