asp.net MVC。无法重定向,无法使用void方法

时间:2017-08-02 07:54:13

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我有一个表格和无效的帖子方法。

<form id="frm_loadFile" action="/Home/LoadFileWhithChanges" enctype="multipart/form-data" method="post" style="margin-top: 40px;">
                <input type="file" style="width: 100%;" name="upload" value="Choose file"><br><br>
                <input style="width: 115px;" type="submit" value="Upload">
</form>

    [HttpPost]
    public void LoadFileWhithChanges(HttpPostedFileBase upload)
    {
                if (upload == null)
                {
                    Response.Write(@"<script language='javascript'>alert('No file')</script>");
                    Response.Flush();
                    Response.End();

                    return;
                }
                else
                {
                   //...
                   Response.Write(@"<script language='javascript'>alert('All done')</script>");
                    Response.Flush();
                    Response.End();

                    return;
                }
}

但是当它在警报之后调用Response.Write我的页面重定向

我想在response.write/之后留在此页面上我该怎么做?

1 个答案:

答案 0 :(得分:0)

您正在发布表单并收到回复。您的行为是void并不重要。浏览器不关心如何在服务器上生成响应。它的唯一作用就是显示结果。如果你想留在同一页面,你应该:

  1. 从操作
  2. 返回相同的页面
  3. 在AJAX中发布表单,在发布文件的情况下,需要一种涉及iframe的特殊技术。您可以在网上查找。