GridView não passa parâmetro para DeleteMethod
Caros Amigos..... problemas
Tenho um GridView que lista alguns registros do DB , e cloquei um object datasource assim:
<asp:ObjectDataSource ID="DSlistaProjetos" runat="server" SelectMethod="getAll" TypeName="JSNet.cadastros.projetos" DeleteMethod="Delete" OldValuesParameterFormatString="original_{0}" UpdateMethod="Alter">
<DeleteParameters>
<asp:Parameter Name="id" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="id" Type="String" />
</UpdateParameters>
</asp:ObjectDataSource>
o método que deve deletal o registro é o seguinte:
public bool Delete(string id)
{
DB db = new DB();
try
{
db.Cmd = new SqlCommand();
db.Cmd.Parameters.AddWithValue("@tipo", 4);
db.Cmd.Parameters.AddWithValue("@id", id);
db.Cmd.Parameters.AddWithValue("@projeto", this.Projeto);
db.Cmd.Parameters.AddWithValue("@descricao", this.Descricao);
db.Cmd.Parameters.AddWithValue("@ativo", 1);
db.ExecuteNonQuery("GerProjetos");
}
catch (Exception ex)
{
throw new Exception("Erro: " + ex.Message);
}
return true;
}
porém quando executo da o seguinte erro:
Erro: Procedure or Function 'GerProjetos' expects parameter '@id', which was not supplied
Pois o parâmetro passado serve de parâmetro para uma procedure que deve excluir o registro, poren o gridview não esta passando este parâmetro através da diretiva:
OldValuesParameterFormatString="original_{0}"
Como posso resolver isso.... desde ja obrigado
Discussão (2)
Carregando comentários...