代码如下:
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{   cn.Open();
string strsql="DELETE FROM sale WHERE Mno=@Mno";
SqlCommand cm=new SqlCommand(strsql,cn);
cm.Parameters.Add(new SqlParameter("@Mno",SqlDbType.Char,20,"Mno"));

cm.Parameters["@Mno"].Value=DataGrid1.DataKeys[(int)e.Item.ItemIndex]; //cm.Connection.Open();
try
{
cm.ExecuteNonQuery();
notice.Text="删除成功";

}
catch(SqlException)
{
notice.Text="删除失败";

}
//cm.Connection.Close();
cn.Close();
BindGrid();
}错误提示:System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。参数名: index
因为我是初学者,不明白是什么原因,请高手指导一下!谢谢!