索引超出范围。必须为非负值并小于集合大小。
   参数名: indexTextBox amount = (TextBox)GridView1.Rows[i].FindControl("TextBox2");
            string strsql = "update Cart set Amount='" + amount.Text + "' where CartID='" + GridView1.DataKeys[i].Value.ToString() + "'";
            string nv = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            SqlConnection sqlconn = new SqlConnection(nv);
            SqlCommand sqlcomm = new SqlCommand(strsql, sqlconn);
            sqlconn.Open();
            sqlcomm.ExecuteNonQuery();
            sqlconn.Close();

解决方案 »

  1.   

    有一个同样的问题。
    你定义gridview的datakeynames属性了么?
      

  2.   

    datakeynames=“CartID”  但是也会有错误,是没有此字段。就被我删掉了
      

  3.   


    datakeynames=“CartID”  设置成你的主键
    若没有字段,那你的操作根本没有意义
    "update Cart set Amount='" + amount.Text + "' where CartID='" + GridView1.DataKeys[i].Value.ToString() + "'";
      

  4.   

    DataBinding:“System.Data.DataRowView”不包含名为“CartID”的属性。
      

  5.   

    检查sql语句
    是否有CartID字段