我想使用包含input type="file"
倍数的Ajax.BeginForm。但是,如果我将其发送到控制器,则文件值为null。因为一起使用JQuery.js和Ajax.js。如果我在此View文件中删除Jquery,则该值不为空。
@{
ViewBag.Title = "Home Page";
}
<script src="~/Scripts/jquery-3.3.1.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
@using (Ajax.BeginForm("Send", "Home",new AjaxOptions { UpdateTargetId="result",HttpMethod="POST",InsertionMode=InsertionMode.Replace},new {enctype="multipart/form-data" }))
{
<input name="name" />
<input id="files" name="pictures" type="file" multiple />
<button type="submit" >SEND</button>
}
<div id="result"></div>
//控制器
[HttpPost]
public PartialViewResult Send(string name,IEnumerable<HttpPostedFileBase> pictures)
{
//int sayi = resimler.Count();
ViewBag.a = "abcsados";
return PartialView("veriler",ViewBag.a);
}
答案 0 :(得分:0)
您不能使用AJAX上传文件。不支持。如果要执行此操作,则可以使用某些文件上传插件,例如Uploadify
或Blueimp File Upload,也可以使用HTML 5 File API
(如果客户端浏览器支持)。