我再gridview里添加了一个hyperlink列,我想在点击是获取点击的行的主键,或者读取点击行的行号也行,请大家帮忙

解决方案 »

  1.   

    1、GV数据绑定时添加行绑定事件,给每一行的超链增加一个单击事件,把行号作为参数写进去2、JQ
    function getindex(){
    var tr = $(this).parent().parent();//获取当前行
    var index = $("#gridview tr").index(tr);//获取行索引
    }
      

  2.   

     ((HyperLink)(e.Row .Cells [10].Controls [0])).Attributes.Add("onclick","return func()");
    这是我在行绑定事件里写的一句,但是你的第一个方法我还是没理解透。
    我刚写程序,JQ还不会用
      

  3.   

    ((HyperLink)(e.Row .Cells [10].Controls [0])).Attributes.Add("onclick","return func("+ e.Row.RowIndex.ToString() +")");e.Row.RowIndex  获取行索引的属性这个JS函数func  的参数就是行号
      

  4.   

    恩,谢谢。我现在想的是在后台要能获取所点击的行号,然后加上列号限制读取这个gridview表中的那个单元格的值存为session变量,这样我在另外的页面也能用到这个单元格的值。
      

  5.   

    定义一个全局变量i=0((HyperLink)(e.Row .Cells [10].Controls [0])).Attributes.Add("onclick","return func("+i+")");///
    i++;///////
      

  6.   

    我做的是web页面,可以用全局变量吗?把我要的单元格的值读到后存为session变量怎样?可我实现的时候还是有问题
      

  7.   

    这是后台事件  不应该在这个板块的
    不要用超链列  增加一个模板列
    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
    后台代码
    protected void LinkButton1_Click(object sender, EventArgs e)
        {
            LinkButton lb = sender as LinkButton;
            GridViewRow gvr = lb.Parent.Parent;//GV的行对象
            string name = gvr.Cells[1].Text;//根据索引号获取对应的列
        }
      

  8.   

    GridViewRow gvr = lb.Parent.Parent,提示说这句缺少一个强制转换?怎么办?
      

  9.   

    GridViewRow gvr = lb.Parent.Parent as GridViewRow;//GV的行对象我写错了 抱歉