Ola pessoal do SharpCode,
Estou com o seguinte problema, tenho um dataGrid com dois linkbutton Editar e Excluir, um ObjectDataSource,
Os dois botoes chama um metodo definido como
[System.ComponentModel.
DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.xxx, true)]
estes chamam cada um uma storeProcedure, quando tento editar funciona perfeitamente, quando vou excluir obtenho este erro:
ObjectDataSource 'dsProdutos' não pôde localizar um método não genérico 'Delete' que tenha parâmetros: produtoId, .
Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.
Detalhes da Exceção: System.InvalidOperationException: ObjectDataSource 'dsProdutos' não pôde localizar um método não genérico 'Delete' que tenha parâmetros: produtoId, .
Erro de Origem:
Exceção não tratada foi gerada durante a execução da atual solicitação da Web. As informações relacionadas à origem e ao local da exceção podem ser identificadas usando-se o rastreamento de pilha de exceção abaixo. |
Rastreamento de Pilha:
[InvalidOperationException: ObjectDataSource 'dsProdutos' não pôde localizar um método não genérico 'Delete' que tenha parâmetros: produtoId, .]
System.Web.UI.WebControls.ObjectDataSourceView.GetResolvedMethodData(Type type, String methodName, IDictionary allParameters, DataSourceOperation operation) +1330054
System.Web.UI.WebControls.ObjectDataSourceView.ExecuteDelete(IDictionary keys, IDictionary oldValues) +1067
System.Web.UI.DataSourceView.Delete(IDictionary keys, IDictionary oldValues, DataSourceViewOperationCallback callback) +75
System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +927
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +1134
System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +95
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +117
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +115
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +132
System.Web.UI.WebControls.LinkButton.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) +177
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746
|
Aqui segue o metodo que eh chamado:
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)]public static void Delete(int produtoId)
{
SqlConnection con = new SqlConnection(_connectionString);SqlCommand cmd = new SqlCommand("ProductDelete", con);cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ProductId", produtoId);
using (con)
{
con.Open();
cmd.ExecuteNonQuery();
}
}
Agradeço a atenção de voces.
Vander