日期:2014-05-19  浏览次数:20426 次

我想问一个问题,希望大家帮帮我,我刚学,有很多东西还不懂,谢谢
我的问题是关于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