Gridview删除按钮

时间:2019-06-09 17:56:36

标签: c# asp.net gridview

gridview有问题

    protected void DeleteRowButton_Click(Object sender, GridViewDeleteEventArgs e)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionAkaryakit"].ConnectionString);
        con.Open();

        int i = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);

        string str1 = "DELETE FROM dbo.Urun_Satis where Musteri_Bilgisi=" + i + "";
        SqlCommand cmd = new SqlCommand(str1, con);
        cmd.ExecuteNonQuery();
        con.Close();
    }

目录超出范围。它不应为负值,并且应小于集合的大小。 \ R \ n参数名称:索引“}

1 个答案:

答案 0 :(得分:0)

问题出在这一行:

int i = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);

您需要检查什么?

  • 您的网格视图是否已定义 DataKeys ? 因为您正在访问网格视图的数据键集合。
  • 假设数据键定义正确,您是否确实定义了正确的键数?

我说的是无键,如果e.RowIndex = 20会怎样?这意味着: GridView1.DataKeys [20] .Value ?您是否为网格视图定义了此数量的键?