我只是在GridView中显示我上传的文件详细信息,因此我的GridView中只有一行 - 不允许多个文件。
当我删除该单行并尝试上传新文件时,它显示2行(新文件和删除的文件)。
我已尝试使用GridView.DataSource = null
和GridView.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();
}
答案 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
时,您的网格绑定到旧数据。更改数据时,必须将其重新绑定到新数据。