一个gridview里面一个按钮,点击按钮事件如何获得该行的数据?

wyanshan 2009-04-10 10:47:08
我想在用户按下按钮发生click事件的时候得到该行的userID,怎么得到?
比如gridview里面有三列。前两列一个是userID,一个是Name,第三列有一个template field,里面是一个button,id=button1。如果单击button,引发click事件。
click事件方法里面:
button myButton=(button)sender; //得到button发送者
gridviewrow row=(gridviewrow)myButton.namingcontainer
这样写对吗?但是这样的话,我只能得到该行的行号,使用row.index.tostring();
得到该行的userID,不会
...全文
326 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
itliyi 2009-04-11
  • 打赏
  • 举报
回复
int id=((Lable)e.Cells[3].FindContrls("id")).Text;
转型
  • 打赏
  • 举报
回复
同意
itliyi 2009-04-11
  • 打赏
  • 举报
回复
模板列里面放<asp:Button id="btnsubmit" runat="server" CommandName="click"
CommandArgument='<%# Eval("UserId")%>'></asp:Button>

RowCommand事件

if(e.CommandName=="click")
{
int userid=Convert.ToInt32(e.CommandArgument.ToString());//主键
}


另外一个办法
RowCommand事件
添加一列放入Lable,该列隐藏
int id=((Lable)e.Cells[3].FindContrls("id")).Text;
sohighthesky 2009-04-11
  • 打赏
  • 举报
回复
如果只是取出数据的话,js就可以做到:button1的onclick="getdata(this)"
function getdata(_this) {
var obj=_this.parentNode
var k=obj.cellIndex
var str = obj.parentNode.cells[0].innerHTML
alert(str)
}
baoxuetianxia 2009-04-11
  • 打赏
  • 举报
回复
Gridview1.Row[i].cell[0].FindControl("id")
wyanshan 2009-04-11
  • 打赏
  • 举报
回复
呵呵,你理解错了。index属性仅仅是获得该行的行号。我需要的是比如每一列得DataKeyname的值。
wang355 2009-04-10
  • 打赏
  • 举报
回复
把这个列变成模板列,然后在commandargument属性里绑定(Container as GridViewRow).RowIndex,然后在gridview的row_command事件里写
int index =int.prase(e.commandargument.Tostring());这个index就是你要的。

(Container as GridViewRow).RowIndex注意大小写,而且是在绑定里写的,不是属性里
wyanshan 2009-04-10
  • 打赏
  • 举报
回复
哦。我都快到了。接着就是:row.cells[0].text就行了。

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧