0

我有以下表格

<form id="file_upload" action="/Upload/Save" method="POST" enctype="multipart/form-data">
<input type="text" id="txtProposalName" name="name" placeholder="Nome da Camiseta" />
<input type="text" id="txtProposalDesc" name="description" placeholder="Descrição da Camiseta"/>
<div class="fileupload-buttonbar">
    <div class="progressbar fileupload-progressbar"></div>
    <span class="fileinput-button">
        <a href="javascript:void(0)" class="upload-image">Upload images</a>
        <input type="file" name="files[]" multiple />
    </span>
</div>
<input type="hidden" id="imgID" name="imgID"/>
<input type="submit" id="postProposal"/>

将调用此操作:

[HttpPost]
    public JsonResult Save(string name, string description, string imgID)
    {
        return Json("a");
    }

(这是当前的实现,它没有逻辑,因为我还在测试一些东西)。

我的问题是:当我单击提交按钮时,会使用正确的值调用操作,但是当它返回时,我的浏览器会重定向到 /Upload/Save (这是操作 URL)。为什么会这样?有什么办法可以预防吗?

谢谢!

4

4 回答 4

1

正如我所看到的,您使用整页重新加载:

    动作="/上传/保存"

您还尝试将数据发布到控制器中的 json 操作方法。您需要使用 jquery 进行所有表单提交,大多数问题您会在 ajax 文件上传器中找到。

补充: 另请查看serialize()它将帮助您收集所有表单输入值。

于 2012-09-16T19:58:16.400 回答
1

您可以使用Ajax.BeginForm来防止重新加载页面。

于 2012-09-16T19:58:45.067 回答
1

您可以对您的方法(例如 AJAX)使用异步调用来防止页面重新加载。

于 2012-09-16T19:54:35.830 回答
0

不需要阻止它,只需在您的服务器代码中重定向用户。

于 2012-09-16T19:52:29.680 回答