GridView1报错
int id =Convert.ToInt32( this.GridView1.DataKeys[e.RowIndex].Values.ToString());当我点击删除的时候我像上面这样的到GridView1的ID值
为什么报
[ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
的错啊!!!请大家帮我解决一下.... --------------------编程问答--------------------
需要遍历下得到的ID值 --------------------编程问答-------------------- 指定GridView1的DataKeyNames为表的主键ID --------------------编程问答-------------------- 哪要这么做呢? --------------------编程问答-------------------- 我已经指定了DataKeyNames为表的主键ID了
也会报这个错 --------------------编程问答-------------------- 没有判断吧比如if(e.RowType==DataRowType.DataRow){...}
因为页脚和页眉是没有的 --------------------编程问答-------------------- int id =Convert.ToInt32( this.GridView1.DataKeys[e.RowIndex].Values.ToString());
不是].Values
是.Value 没有S --------------------编程问答-------------------- 哦,看错了啊,你删除事件写在
--------------------编程问答-------------------- int id =Convert.ToInt32( this.GridView1.DataKeys[e.RowIndex].Values.ToString());
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "del")//模板列里设置删除按键的CommandName="del"
{
int id = int.Parse(e.CommandArgument.ToString());
}
}
如果不是取出来的数据有错,就是没有取对DataKeys[e.RowIndex]的DataKeys[这里没取对] --------------------编程问答-------------------- protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
bc.ExecSQL("delete from tbNews where id='" + this.GridView1.DataKeys[e.RowIndex].Value.ToString() + "'");
GridView1.DataSource = bc.GetDataSet("select * from tbNews where " + strStyle, "tbNews");
GridView1.DataBind();
} --------------------编程问答--------------------
谢谢哈,
现在可是可以的到ID号了.可是为什么删不掉呢! --------------------编程问答-------------------- 因為你沒寫SQL語句。。。。 --------------------编程问答--------------------
那就是你删除的方法有问题撒 --------------------编程问答--------------------
呵呵 都是智慧~~~
--------------------编程问答--------------------
都是智慧~~ --------------------编程问答-------------------- protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
公司地址更改信息 公司地址更改信息 = new 公司地址更改信息();
int id = int.Parse(e.CommandArgument.ToString());
公司地址更改信息.Basic_Delete(" and 记录号=" + id);
Response.Redirect("GridViews.aspx");
}
我的代码是这样的,为什么点删除没用呢
首先我肯定Basic_Delete这个方法是正确的,因为前面我都是用的同样的方法~~~
补充:.NET技术 , ASP.NET