刷新一下……也就是postback一下postback一下也就是执行一下执行一下也就是删除一下

解决方案 »

  1.   

    可以在删除完之后,
    Response.Redirect();
    一次
      

  2.   

    我在PAGE_LOAD里用了!IsPostBack
    另外,插入,修改都正确,就删除出现这个问题
      

  3.   

    代码如下
    <asp:datagrid id="grid1" Runat="server" ShowFooter="True" OnItemCommand="insertt"  OnDeleteCommand="griddelete" DataKeyField="username"  AutoGenerateColumns="False" >
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:LinkButton id="buttons" Runat="server" Text="删除" CommandName="delete" />
    </ItemTemplate>
    <FooterTemplate>
    <asp:LinkButton ID="Button1" Runat="server" CommandName="insert" Text="插入"></asp:LinkButton>
    </FooterTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>
    public void griddelete(Object sender,DataGridCommandEventArgs e)
    {

    try
    {
    string developid=(string)grid1.DataKeys[e.Item.ItemIndex];
       
    string connstring=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\..\\zbcw.mdb;";
    OleDbConnection conn=new OleDbConnection(connstring);
    string sql="DELETE * FROM userinfo WHERE username='"+developid+"'";
    OleDbCommand cmd =new OleDbCommand(sql,conn);
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    grid1.EditItemIndex=-1;
    bindgrid();
    }
    catch(System.Exception er)
    {
    Response.Write(er.Message);
    }
    }
      

  4.   

    参考一下:
    你的username这个字段的所有的值是不是一样,如果是,那肯定了。
    按你上面的代码,这个字段应该是这条记录的唯一标识,不能重复的。
      

  5.   

    可我的username没有重复,他仍然会删除下一条,而且是紧跟的那一条记录
      

  6.   

    最后还是用Response.Redirect("ss.aspx")解决