址:http://www.microsoft.com/china/msdn/library/webservices/asp.net/objectdatasource.mspx我原原本本的按照教程的方法操作在productInfo3.cs示例中,对网格中的数据进行更改,会出现“/030301”应用程序中的服务器错误。
--------------------------------------------------------------------------------ObjectDataSource“ObjectDataSource1”未能找到带参数的非泛型方法“UpdateProduct”: ProductName, UnitPrice, ProductId为什么,Help ME!!!!

解决方案 »

  1.   

    我也碰到相似的问题,有大部分源码。大家也帮我看看啊。谢谢!
    楼主你解决了吗?告诉我怎样搞掂的啊。好不?http://community.csdn.net/Expert/topic/4592/4592135.xml?temp=.1817591
      

  2.   

    "有一个参数需要额外进行讨论。我们需要将被更新的行的 ProductID 列的值传递给 UpdateProduct 方法由于没有在 GridView 中显示 ProductID 列,我们必须将 ProductID 列分配给 GridView 控件的 DataKeyNames 属性。这个列的名称变为 original_productId,而不是 productId,因为我们正在向 update 方法传递 ProductID 列的未编辑版本。"原文里面不是已经说了吗?你需要传ProductName, UnitPrice, orginal_ProductId(而不是ProductID,其实就是改个名字, 代表ProductID 列的未编辑版本)这三个参数到存储过程. 你用VS2005的objectDatasource的向导创建一个存储过程就知道是怎么一回事了.
      

  3.   

    错了. 是VS2005的dataset的向导. 这是一个update的存储过程.
    CREATE PROCEDURE dbo.sp_Admin_UpdateItem
    (
    @CName varchar(50),
    @EName varchar(50),
    @Price money,
    @Original_ItemID varchar(10)
    )
    AS
    SET NOCOUNT OFF;
    UPDATE [Admin_Items] SET [CName] = @CName, [EName] = @EName, [Price] = @Price WHERE (([ItemID] = @Original_ItemID))GO