Gridview显示已删除的数据

时间:2012-04-24 15:21:51

标签: asp.net

我只是在GridView中显示我上传的文件详细信息,因此我的GridView中只有一行 - 不允许多个文件。

当我删除该单行并尝试上传新文件时,它显示2行(新文件​​和删除的文件)。

我已尝试使用GridView.DataSource = nullGridView.DataBind()

注意:我在删除后重新绑定了我的GridView,但它仍显示已删除的文件。

protected void DeleteLinkButton_Click(object sender, EventArgs e)
{
    if (Session["name"] != null)
    {
        string strPath = Session["filepath"].ToString();
        System.IO.File.Delete(strPath);

        GridView2.Rows[0].Visible = false;
        Label8.Text = "";
        Session["filename"] = null;
        Button3.Enabled = true;
    }

    GridView2.DataBind();
}

1 个答案:

答案 0 :(得分:0)

在某些情况下,我必须做这样的事情:

//page level variable
bool refreshRequired = false;

protected void DeleteLinkButton_Click(object sender, EventArgs e)
{
    if (Session["name"] != null)
    {
        string strPath = Session["filepath"].ToString();
        System.IO.File.Delete(strPath);

        GridView2.Rows[0].Visible = false;
        Label8.Text = "";
        Session["filename"] = null;
        Button3.Enabled = true;

        refreshRequired = true;
    }

}

protected void Page_PreRender(object sender, EventArgs e)
{
    if(refreshRequired)
    {
        //whatever you to to set your grids dataset, do it here
        //but be sure to get the NEW data
    }
}

Delete时,您的网格绑定到旧数据。更改数据时,必须将其重新绑定到新数据。