我有以下表格
<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)。 为什么会这样?有什么办法可以阻止吗?
谢谢!
答案 0 :(得分:1)
您可以使用对方法的异步调用(例如AJAX)来阻止页面重新加载。
答案 1 :(得分:1)
我可以看到您使用完整页面重新加载:
action="/Upload/Save"
此外,您尝试将数据发布到控制器中的json操作方法。你需要使用jquery提交所有表单make,使用ajax文件上传器可以找到大多数问题。
<强>加了:强> 另请查看serialize()它将帮助您收集所有表单输入值。
答案 2 :(得分:1)
您可以使用Ajax.BeginForm来阻止重新加载页面。
答案 3 :(得分:0)
不需要阻止它,只需重定向您的服务器代码中的用户。