我想问一个问题,希望大家帮帮我,我刚学,有很多东西还不懂,谢谢
我的问题是关于GridView取值的问题,我的GridView只有一列,我把它转化成了模版列,在里面加了个HyperLink和Button,在GridView外面加了一个Label,我想实现按Button后Label里的text就是Button所在行对应的HyperLink的text,可是不知道怎么写
我在Button_Click事件里这样写:
foreach (GridViewRow row in GridView1.Rows)
{
HyperLink hy = (HyperLink)row.Cells[0].FindControl( "HyperLink1 ");
Label1.Text = hy.Text;
}
但是不行,每次Label里显示的就是最后一行的HyperLink的text,不管按哪个Button都一样
还有我把Button的CommandName赋值为 "gg ",在GridView1_RowCommand事件里写
if (e.CommandName== "gg ")
{
foreach (GridViewRow row in GridView1.Rows)
{
HyperLink hy = (HyperLink)row.Cells[0].FindControl( "HyperLink1 ");
Label1.Text = hy.Text;
}
}
结果和上面的问题一样,不知道要怎么写,希望大家帮帮忙,谢谢你们
------解决方案--------------------绑定
------解决方案--------------------帮你顶
------解决方案--------------------数据绑定
------解决方案--------------------用BUTTON的按钮事件总会从头到尾运行,你可调试看看,到底如何运行的。
------解决方案--------------------但是不行,每次Label里显示的就是最后一行的HyperLink的text,不管按哪个Button都一样
*******************************************
答:因为在
foreach (GridViewRow row in GridView1.Rows)
{
HyperLink hy = (HyperLink)row.Cells[0].FindControl( "HyperLink1 ");
Label1.Text = hy.Text;
}
你对遍历gridview中的每一行的数据,直到遍历到gridview的最后一行数据为止,你的循环才退出,所以Label1.Text = hy.Text;就是你最后一行的HyperLink的text。
------解决方案--------------------接着我前面的回答
你应该只得到Button所在行的HyperLink,然后取出text