我有一个允许用户提交文件的部分视图。
<form action="Attachments" method="post" enctype="multipart/form-data" target="_self">
<div>
<label style="text-align: left;">Add File:</label>
</div>
<div>
<input type="file" name="file" id="file" style="width: 275px;" />
</div>
<div style="text-align: right;">
<input type="submit" value="Add"/>
</div>
</form>
这将调用HTTPPost的AttachmentsController方法
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine("C:\\Attachments", fileName);
file.SaveAs(path);
return AddAttachment(fileName);
}
return RedirectToAction("Failed", "Attachments");
}
addAttachment返回“return RedirectToAction(”Index“,”Attachments“);” 完成所有这些以添加附件后,整个屏幕都会刷新,我只想要部分视图来添加刷新的附件。我怎样才能做到这一点!?
答案 0 :(得分:2)
您应该通过ajax请求发布您的文件。当服务器返回响应时,只更新必要的页面部分。
有一个很好的表单插件,允许您异步发送HTML表单http://malsup.com/jquery/form/。
$(document).ready(function() {
$('#myForm1').ajaxForm();
});
或
$("someButton").click(function(){
$('#myForm1').ajaxSubmit();
});