我在GridView中添加了一列模板列用来作删除操作(要求必须用模板列,还是LinkButten !!)
请问点击删除按钮(即该LinkButten)时怎样在GridView控件的RowCommand事件中取到点击按钮的行号或该行的DataKeyNames的值(总之就是想取主键)假设GridView的id为dvDraftDetail
    模板列LinkButten的id为LinkBtnDelete
thanks
i'm waiting for u

解决方案 »

  1.   

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "a")
                {
                    Response.Write(e.CommandArgument + "*****");
                }
            }
      

  2.   

    e.CommandArgument 就是行号
      

  3.   

    e.CommandArgument用模板列的时候取到""啊
    用ButtenField添加的列点击的时候就可以取到
      

  4.   

    <ItemTemplate>
                    <asp:LinkButton ID="lb" runat="server"  CommandName="a"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField> protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "a")
                {
                    Response.Write(e.CommandArgument + "*****");
                }
            }
      

  5.   

    cpp2017(慕白兄) 我本来就是这么写的
    但是报错了,经过跟踪,发现是e.CommandArgument为""
    所以
      

  6.   

    <asp:LinkButton ID="lb" runat="server"  CommandName="a"></asp:LinkButton>你看上面他有 CommandArgument  么?   不赋值怎么可能不为空
      

  7.   

    ASP.NET DEMO 5:如何在GridView的RowCommand事件中获取当前的GridViewRow 
    http://www.cnblogs.com/Jinglecat/archive/2007/07/05/806460.html
      

  8.   

    <asp:LinkButton ID="LinkBtnDelete" runat="server" CommandName="DeleteCmd"><img src=../../images/delete.gif alt=删除 border=0 /></asp:LinkButton>
    -----------------------------------------------------------------------    protected void dvDraftDetail_RowCommand(object sender, GridViewCommandEventArgs e)
        {
             int i = Convert.ToInt32(e.CommandArgument);//报错,e.CommandArgument为""
             ................
      

  9.   

    CommandArgument='<%#((GridViewRow)Container).RowIndex %>'