关于GridView修改和删除的问题!看不出哪错了,有高手帮忙下吗
protected void gvBind()
{
string strCmd = "select * from news_users";
DataSet ds = da.ExceDS(strCmd);
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView1.PageIndex = e.NewPageIndex;
this.GridView1.DataBind();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
this.GridView1.EditIndex = -1;
gvBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
gvBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int IntUserID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
string user_id = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString();
string pwd = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
string name = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString();
string email = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString();
string create_time = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString();
int age =Convert.ToInt32( ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString());
string address = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString();
string sex = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.ToString();
SqlDataReader sdr = da.ExceRead("Update news_users set user_id='" + user_id + "',pwd='" + pwd + "',name='" + name + "',email='" + email + "',create_time='" + create_time + "',age='" + age + "',address='" + address + "',sex='" + sex + "' where id='" + IntUserID + "'");
GridView1.EditIndex = -1;
sdr.Close();
gvBind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int IntUserID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
SqlDataReader sdr = da.ExceRead("Delete from news_users where id='" + IntUserID + "'");
sdr.Close();
gvBind();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
gvBind();
}
}
运行的时候就说索引超出范围。必须为非负值并小于集合大小参数名: index
异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
我user_id是从1开始的,但是在运行的时候主键ID他这也出来个TEXTBOX能修改了!看不出哪错了