如何在RowDataBound里面取出gridview里当前操作行的值
我的代码是:
protected void gvloglist_RowDataBound(Object sender, GridViewRowEventArgs e)
{
int id = int.Parse(e.Row.RowIndex.ToString());
Response.Write(id);
}
结果是:-10123-1-10123-1
这是为什么呢?我只是想取出当前操作行的值,比如说第1行就取出1,我一共有4条数据,就应该打印出0、1、2、3,为什么是上面那串字符呢?求解!到底怎么取出当前操作行的值?
[解决办法]
首先只要写int id = e.Row.RowIndex;就可以了,RowIndex本来就是int型的。
-1对应的行是头部、脚部这类非数据行,数据行的RowIndex都是非负的。
[解决办法]
你改成
protected void gvloglist_RowDataBound(Object sender, GridViewRowEventArgs e)
{
Response.Write(e.Row.RowType);
}
就理解了。
[解决办法]
所以一般要加个判断
if(e.Row.RowIndex>-1)
//......