日期:2014-05-17  浏览次数:20443 次

为什么我在vs2008里面的gridview获取不到当前行?
int index = Convert.ToInt32(e.CommandArgument.ToString().Trim());

这句话不对吗?我跟踪了一下我一看是e.CommandArgument.ToString().Trim()的值是Next


------解决方案--------------------
GridViewRow row = (e.CommandSource as Control).NamingContainer;
row.RowIndex获取所在行
------解决方案--------------------
你是在哪个事件中阿

RowCommand事件中(int i = Convert.ToInt32(e.CommandArgument);)
如果是点击模板列中的按钮

Button t = (Button)sender;
GridViewRow drv = (GridViewRow)t.NamingContainer;
int rowIndex = drv.RowIndex;

------解决方案--------------------
你的CommandArgument和CommandName属性弄反了吧
------解决方案--------------------
一般用e.CommandName判断命令名称,用e.CommandArgument获取参数
你在前台是不是绑定时把相关的CommandArgument参数绑错数据列了
------解决方案--------------------
探讨

你的CommandArgument和CommandName属性弄反了吧