【问题标题】:website uploads on page refresh页面刷新时网站上传
【发布时间】:2013-08-01 12:58:58
【问题描述】:

我有一个我正在尝试开发的 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
}

【问题讨论】:

  • 您的代码(可能)容易受到SQL injection 的影响 - 我建议您快速修复该问题
  • 啊...是的,它似乎是,感谢您指出这一点。你能告诉我一个可以帮助我解决这个问题的地方吗?

标签: c# asp.net upload


【解决方案1】:

文件上传后只要做一个正常的重定向,就不用担心重新上传文件了。

Response.Redirect("~/path/to/your/file.aspx");

【讨论】:

    【解决方案2】:

    这是因为页面维护了它的 ViewState。

    为防止这种情况发生,请尝试在您的页面上设置 EnableViewState="false",您可以在 public void Upload_OnClick(Object sender, EventArgs e) 方法中添加 Response.Redirect("yourpage.aspx", true)。

    【讨论】:

      猜你喜欢
      • 2020-11-27
      • 2013-07-28
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      相关资源
      最近更新 更多