CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

为什么在删除时会出现ObjectDataSource“ObjectDataSource1”未能找到接受“EntityLayer.ArticleTypeEntity”类型的参数的非泛型方法“De

楼主chjlcn(http://www.chenjiliang.com)2006-03-04 10:43:48 在 .NET技术 / ASP.NET 提问

为什么在删除时会出现ObjectDataSource“ObjectDataSource1”未能找到接受“EntityLayer.ArticleTypeEntity”类型的参数的非泛型方法“Delete”。  
   
  详细异常如下:“/”应用程序中的服务器错误。  
  --------------------------------------------------------------------------------  
   
  ObjectDataSource“ObjectDataSource1”未能找到接受“EntityLayer.ArticleTypeEntity”类型的参数的非泛型方法“Delete”。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.InvalidOperationException:   ObjectDataSource“ObjectDataSource1”未能找到接受“EntityLayer.ArticleTypeEntity”类型的参数的非泛型方法“Delete”。  
   
  源错误:    
   
  执行当前   Web   请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。      
   
  堆栈跟踪:    
   
   
  [InvalidOperationException:   ObjectDataSource“ObjectDataSource1”未能找到接受“EntityLayer.ArticleTypeEntity”类型的参数的非泛型方法“Delete”。]  
        System.Web.UI.WebControls.ObjectDataSourceView.GetResolvedMethodData(Type   type,   String   methodName,   Type   dataObjectType,   Object   oldDataObject,   Object   newDataObject,   DataSourceOperation   operation)   +1053  
        System.Web.UI.WebControls.ObjectDataSourceView.ExecuteDelete(IDictionary   keys,   IDictionary   oldValues)   +439  
        System.Web.UI.DataSourceView.Delete(IDictionary   keys,   IDictionary   oldValues,   DataSourceViewOperationCallback   callback)   +71  
        System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow   row,   Int32   rowIndex)   +928  
        System.Web.UI.WebControls.GridView.HandleEvent(EventArgs   e,   Boolean   causesValidation,   String   validationGroup)   +1152  
        System.Web.UI.WebControls.GridView.RaisePostBackEvent(String   eventArgument)   +201  
        System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String   eventArgument)   +7  
        System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler   sourceControl,   String   eventArgument)   +11  
        System.Web.UI.Page.RaisePostBackEvent(NameValueCollection   postData)   +172  
        System.Web.UI.Page.ProcessRequestMain(Boolean   includeStagesBeforeAsyncPoint,   Boolean   includeStagesAfterAsyncPoint)   +5616  
   
     
   
   
  --------------------------------------------------------------------------------  
  版本信息:   Microsoft   .NET   Framework   版本:2.0.50727.42;   ASP.NET   版本:2.0.50727.42    
   
  要怎样才能删除一条ArticleType??  
   
  --------------------------------------------------------------------------------  
   
   
  <%@   Page   Language="C#"   AutoEventWireup="true"   CodeFile="Default.aspx.cs"   Inherits="Test_Default"   %>  
   
  <!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
   
  <html   xmlns="http://www.w3.org/1999/xhtml"   >  
  <head   runat="server">  
          <title>无标题页</title>  
  </head>  
  <body>  
          <form   id="form1"   runat="server">  
  <asp:GridView   ID="GridView1"   runat="server"   DataSourceID="ObjectDataSource1"   AutoGenerateColumns="False"   DataKeyNames="TypeID">  
  <Columns>  
  <asp:BoundField   DataField="TypeID"   HeaderText="TypeID"   SortExpression="TypeID"   />  
  <asp:BoundField   DataField="Sequence"   HeaderText="Sequence"   SortExpression="Sequence"   />  
  <asp:BoundField   DataField="TypeName"   HeaderText="TypeName"   SortExpression="TypeName"   />  
  <asp:CommandField   ShowDeleteButton="True"   ShowEditButton="True"   ShowSelectButton="True"   />  
  </Columns>  
  </asp:GridView>  
  <asp:ObjectDataSource   ID="ObjectDataSource1"   runat="server"   SelectMethod="SelectAll"  
  TypeName="BusinessLayer.ArticleType"   DataObjectTypeName="EntityLayer.ArticleTypeEntity"   UpdateMethod="Update"     InsertMethod="Insert"   DeleteMethod="Delete">  
  <DeleteParameters>  
  <asp:Parameter   Name="TypeID"   Type="Int32"   />  
  </DeleteParameters>  
     
  </asp:ObjectDataSource>  
     
     
          </form>  
  </body>  
  </html>  
   
   
  --------------------------------------------------------------------------------  
   
   
  public   class   ArticleType  
  {  
     
  ArticleTypeAccess   access;  
  public   ArticleType()  
  {  
  access   =   new   ArticleTypeAccess(   );  
  }  
   
   
  public   bool   Exists(string   typeName)  
  {  
   
  return   access.Exists(typeName);  
  }  
   
  public   List<ArticleTypeEntity>   SelectAll()  
  {  
  return   access.SelectAll();  
  }  
  public   int   Delete(int   TypeID)  
  {  
  return   access.Delete(TypeID);  
  }  
   
  public   int   Insert(ArticleTypeEntity   entity)  
  {  
  return   access.Insert(entity);  
  }  
   
  public   ArticleTypeEntity   SelectEntity(int   TypeID)  
  {  
  return   access.SelectEntity(TypeID);  
   
  }  
   
  public   int   Update(ArticleTypeEntity   entity)  
  {  
  return   access.Update(entity);  
  }  
  }  
   
  --------------------------------------------------------------------------------  
   
   
  public   class   ArticleTypeEntity    
  {  
  public   ArticleTypeEntity()  
  {  
   
  }  
   
  private   int   typeID;  
  private   string   typeName;  
  private   int   sequence;  
   
  public   int   TypeID  
  {  
  get   {   return   typeID;   }  
  set   {   typeID   =   value;   }  
  }  
   
   
   
  public   string   TypeName  
  {  
  get   {   return   typeName;   }  
  set   {   typeName   =   value;   }  
  }  
   
   
  public   int   Sequence  
  {  
  get   {   return   sequence;   }  
  set   {   sequence   =   value;   }  
  }  
   
   
  } 问题点数:20、回复次数:5Top

1 楼chjlcn(http://www.chenjiliang.com)回复于 2006-03-04 13:51:09 得分 0

Up  
  Top

2 楼califord(远方)回复于 2006-03-04 13:57:53 得分 15

代码具体是哪一行错误,写出来呀,这样找不出来的.我看了可能是你没有指定关键例的索引Top

3 楼flyinging(一路走来)回复于 2006-03-04 14:01:14 得分 5

UpTop

4 楼chjlcn(http://www.chenjiliang.com)回复于 2006-03-04 14:10:35 得分 0

@califord(远方)  
  <asp:GridView   ID="GridView1"   runat="server"   DataSourceID="ObjectDataSource1"   AutoGenerateColumns="False"   DataKeyNames="TypeID">  
   
  关键列索引是不是 这个? DataKeyNames="TypeID">  
   
  上面有完整异常信息了,具体哪行异常中也没有给出来的,不知道为什么会这样。Top

5 楼xiechunhong(.Net牛人)回复于 2006-04-24 13:30:49 得分 0

Delete方法的參數問題Top

相关问题

  • 参数
  • 参数
  • 获得参数
  • ShellExecute的参数.
  • 缺省参数
  • 参数传递
  • 检索参数?
  • 参数传递
  • Application.MessageBox的参数
  • 合并参数

关键词

  • objectdatasource

得分解答快速导航

  • 帖主:chjlcn
  • califord
  • flyinging

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo