gridview索引总是-1,求帮忙

解决方案 »

  1.   

    是不是RowCommand事件中
    用到了CommandArgument
    看我的例子:
    <asp:LinkButton ID="LinkButton_delete" runat="server" Width="30px" CommandName="DSelect" CommandArgument='<%# GridView_User.Rows.Count %>'>删除</asp:LinkButton>
    if (e.CommandName == "DSelect")
                {
                    string UserNo = "0";//用户名
                    //******************得到是那行
                    Int32 indexPos = Convert.ToInt32(e.CommandArgument);
                    //******************************得到UserID
                    Label lb = (Label)this.GridView_User.Rows[indexPos].FindControl("Label_UserID");
                    if (lb != null)
                    {
                        UserID = lb.Text.Trim();
                    }
                    //******************************得到UserNo
                    Label ub = (Label)this.GridView_User.Rows[indexPos].FindControl("Label_UserNo");
                    if (ub != null)
                    {
                        UserNo = ub.Text.Trim();
                    }
                    //********************************执行删除操作
                    OperDataBase.DeleteHn10006User(OperNo, Convert.ToInt32(UserID), UserNo);
                   
                }
      

  2.   

    CommandArgument='<%# GridView_User.Rows.Count %>'这个是关键
    否则永远得到是的-1