gvUserList.DataSource = new DataTable().DefaultView;
gvUserList.DataKeyNames = new string[] { "UserName" };//设置主键
gvUserList.DataBind();这是设置数据行的主键字段string userName = gvUserList.DataKeys[e.RowIndex].Value.ToString();
            if (Roles.IsUserInRole(userName, "管理员"))
            {
                ClientScript.RegisterStartupScript(this.GetType(), "myscript", "alert('" +userName+ "是管理员,不能删除!');", true);
            }
            else
            {
               Membership.DeleteUser(userName);
               Response.Redirect("~/Admin/Administrator.aspx?page="+AspNetPager1.CurrentPageIndex);
            }这是protected void gvUserList_RowDeleting(object sender, GridViewDeleteEventArgs e)事件处理中的代码,通过断点调试发现,e.RowIndex的索引值是某某分页数据行的,是对的,但是却老是跳到了首页,因而删除非首页数据行时就会使表格数据乱序,而且不能删除当前页指定的数据行
有没有高手来解决下,就只有这么多分了,本菜鸟盼高手解答

解决方案 »

  1.   

    补充下,
    protected void gvUserList_RowDeleting(object sender, GridViewDeleteEventArgs e){}
    本来是获取当前页的数据,但是我删除的时候一直获取的首页数据行索引,郁闷半个月了,还是没解决,请高手来授业解惑,小弟不胜感激
      

  2.   


     <asp:CommandField ShowDeleteButton="true" ControlStyle-Font-Underline="false">
                        <ControlStyle Font-Underline="False"></ControlStyle>
                        <ItemStyle HorizontalAlign="Center" />
     </asp:CommandField>这个是删除按钮的前台代码
      

  3.   

    Membership.DeleteUser(userName);
    int page=gvUserList.Pageindex;
     Response.Redirect("~/Admin/Administrator.aspx?page="+page);
      

  4.   

    程序进入protected void gvUserList_RowDeleting(object sender, GridViewDeleteEventArgs e){}
    事件处理之前就已经跳到首页了,你等删除了再绑定分页页面有什么用呢