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




