C# Gridview上的IndexOutOfRangeException

C# Gridview上的IndexOutOfRangeException,c#,gridview,C#,Gridview,基本上,我有一些gridview,然后用户可以从gridview中选择和删除一些内容。问题是,我不能从中选择或删除任何内容,我只能插入。每次我都会犯这个错误。我似乎不知道它出了什么问题。我有一个模糊的想法,我需要放置一些错误处理,但我不知道如何 编辑: 我认为这些是给我带来麻烦的部分: protected void grvFornecedores_RowDeleting(object sender, GridViewDeleteEventArgs e) { Fornec

基本上,我有一些gridview,然后用户可以从gridview中选择和删除一些内容。问题是,我不能从中选择或删除任何内容,我只能插入。每次我都会犯这个错误。我似乎不知道它出了什么问题。我有一个模糊的想法,我需要放置一些错误处理,但我不知道如何

编辑:

我认为这些是给我带来麻烦的部分:

 protected void grvFornecedores_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        Fornecedores objFornecedor = new Fornecedores();
        objFornecedor.fornecedorID = Convert.ToInt32(grvFornecedores.DataKeys[e.RowIndex].Value);
        if (objFornecedor.Excluir())
        {
            CarregarFornecedoresGridView();
        }

    }
    protected void grvFornecedores_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
        Fornecedores objFornecedor = new Fornecedores();
        objFornecedor.fornecedorID = Convert.ToInt32(
            grvFornecedores.DataKeys[e.NewSelectedIndex].Value
        );
        objFornecedor = objFornecedor.ListarUm();
        txtCodigoForn.Text = objFornecedor.fornecedorID.ToString();
        txtNomeFantasia.Text = objFornecedor.nomeFantasia;
        txtRazaoSocial.Text = objFornecedor.razaoSocial;
        txtCNPJ.Text = objFornecedor.cnpj.ToString();
    }

首先,你应该在这里发布你的代码,而不是在其他网站

删除的违规代码如下:

objFornecedor.fornecedorID = Convert.ToInt32(grvFornecedores.DataKeys[e.RowIndex].Value);

不要使用
e.RowIndex
,而是尝试
grvFornecedores.SelectedIndex

哦,天哪,这是西班牙语吗/是葡萄牙语。我的母语@OP:请隔离给你带来麻烦的代码,并在这里发布,而不是在其他网站上。另外,当你把它带到这里时,请翻译任何有用的评论。哦,对不起,我很匆忙,没有注意就把它贴了出来。我要编辑它。