GridView中LinkBut​​ton的行索引

时间:2012-01-02 10:30:34

标签: c# asp.net .net

我在GridView中使用链接按钮作为模板字段
现在我想显示点击Linkbutton的行索引。

请建议我一个解决方案提前致谢

4 个答案:

答案 0 :(得分:12)

假设在项目模板中这是你的链接按钮

  <ItemTemplate>
               <asp:LinkButton ID="lnkapprove" Font-Underline="true" runat="server" Text="Approve"             OnClick="lnkapprove_Click"></asp:LinkButton>
  </ItemTemplate>
代码背后的

   protected void lnkapprove_Click(object sender, EventArgs e)
    {
        LinkButton btn = (LinkButton)sender;
        GridViewRow row = (GridViewRow)btn.NamingContainer;
        int i = Convert.ToInt32(row.RowIndex);
    }

你可以像这样得到row.RowIndex ..

希望这会有所帮助..

答案 1 :(得分:6)

请尝试这个:

protected void userGridview_RowCommand(object sender, GridViewCommandEventArgs e)
    {
         GridViewRow rowSelect = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
            int rowindex = rowSelect.RowIndex;                
    }   

答案 2 :(得分:1)

您也可以在行绑定事件中尝试此代码

GridViewRow rowSelect = (GridViewRow)(((Button)e.CommandSource).NamingContainer);
                int rowindex = rowSelect.RowIndex;
像这样

protected void userGridview_RowBound(object sender, GridViewCommandEventArgs e)
    {
         GridViewRow rowSelect = (GridViewRow)(((Button)e.CommandSource).NamingContainer);
            int rowindex = rowSelect.RowIndex;                
    }

答案 3 :(得分:0)

在Page的gridview模板中使用Container.DisplayIndex。在RowCommand处理程序后面的代码上,您将以行索引作为参数。

 <asp:TemplateField HeaderText="Actions">
   <ItemTemplate>
     <asp:LinkButton ID="lbExample" runat="server" CommandName="DoAction" CommandArgument='<%# Container.DisplayIndex %>' ToolTip="Action link" CssClass="btn btn-sm btn-light"><i class="fa fa-edit"></i></asp:LinkButton>
   </ItemTemplate>
</asp:TemplateField>