Asp.net mvc 单击文件上载的“提交”按钮时仅更新部分视图

Asp.net mvc 单击文件上载的“提交”按钮时仅更新部分视图,asp.net-mvc,partial-views,ajax-forms,Asp.net Mvc,Partial Views,Ajax Forms,我有一个允许用户提交文件的局部视图 <form action="Attachments" method="post" enctype="multipart/form-data" target="_self"> <div> <label style="text-align: left;">Add File:</label> </div> <div> <input t

我有一个允许用户提交文件的局部视图

<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>
addAttachment返回“return RedirectToAction(“Index”,“Attachments”);”
完成添加附件的所有操作后,整个屏幕都会刷新,我只想刷新添加附件的部分视图。我怎样才能做到这一点

您应该通过ajax请求发布您的文件。当服务器返回响应时,只更新必要的页面部分

有一个很好的表单插件,允许您异步发送HTML表单

[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");
}
$(document).ready(function() { 
    $('#myForm1').ajaxForm(); 
});
$("someButton").click(function(){
    $('#myForm1').ajaxSubmit();
});