部分代码如下
public void GetLawByClass(string Class)
    {
        DataSet ds = Bll.LawManiger.GetLawByClass(Class);
        this.GridView1.DataSource = ds.Tables[0].DefaultView;
        GridView1.DataKeyNames = new string[] { "LawID"};
        GridView1.DataBind();
    }
 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        this.GridView1.EditIndex = e.NewEditIndex;
        LawID = this.GridView1.DataKeys[e.NewEditIndex][0].ToString();// 索引超出范围。必须为非负值并小于集合大小。参数名: indexprotected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        this.GridView1.EditIndex = e.NewEditIndex;
        LawID = this.GridView1.DataKeys[e.NewEditIndex][0].ToString();
        GetLawByClass(LawClass);
        Response.Redirect("UpdataLaw.aspx?LawID=" + LawID);
    }
    datakeyname 和主键都有,哪里错了????????????????