我正在尝试开发一个C#ASP.Net网站。它目前拥有并上传pdf文件和图像,其详细信息存储在数据库中。问题是当我刷新页面时它再次上传图像或pdf,并且每次刷新时都会继续上传。我怎样才能防止这种情况发生?我的C#代码非常基础,所以在这里。但它不起作用...当我检查数据库时,有重复的条目。此方法应仅在按钮单击时触发,但在刷新页面时也会触发。并且此方法也不在页面加载中。任何帮助将不胜感激,谢谢。
public void Upload_OnClick(Object sender, EventArgs e)
{
String filename = txtFileName.Text;
if(filename != "")//checks if there is something to upload if(true) then upload
{
String SQL = "INSERT INTO tblFileNames (filename) VALUES ('"+filename+"')";
new DBHelper().runSQL(SQL);
}
txtFileName.Text = ""; //resets the value in txtFileName so it won't run the if
}
答案 0 :(得分:1)
在上传文件后进行正常的重定向,然后您就不必担心重新上传文件了。
Response.Redirect("~/path/to/your/file.aspx");
答案 1 :(得分:1)
之所以发生这种情况,是因为该页面保持了ViewState。
要防止它发生,请尝试在页面上设置EnableViewState =“false”,并且可以在公共void Upload_OnClick(Object sender,EventArgs e)方法中添加Response.Redirect(“yourpage.aspx”,true)。