我的问题是关于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;
                  
            }}
结果和上面的问题一样,不知道要怎么写,希望大家帮帮忙,谢谢你们

解决方案 »

  1.   

    用BUTTON的按钮事件总会从头到尾运行,你可调试看看,到底如何运行的。
      

  2.   

    但是不行,每次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。
      

  3.   

    接着我前面的回答你应该只得到Button所在行的HyperLink,然后取出text