我有这个带有kendo文件上传的表单,当用户上传文件时,控制器中的操作会生成一个随机值,将值保存为随机值并将随机值发送回客户端。 但似乎控制器和客户端的随机值不同。 下面是视图中的jquery代码
<script type="text/javascript">
function onSuccess(e) {
$.ajax({
url: '/newlyTrained/Save',
type: "Post",
dataType: "json",
success: function (data) {
var res = data;
alert(res.snumber );
}
});
}
function onRemove(e) {}
function getFileInfo(e) {
return $.map(e.files, function (file) {
var info = file.name;
return info;
}).join(", ");
}
</script>
这是我的控制器
[HttpPost]
public JsonResult Save(IEnumerable<HttpPostedFileBase> files)
{
string random = System.Guid.NewGuid().ToString();
if (files != null)
{
foreach (var file in files)
{
var fileName = Path.GetFileName(file.FileName);
var extension = Path.GetExtension(file.FileName);
var physicalPath = Server.MapPath("~/Passports/" + random + extension);
file.SaveAs(physicalPath);
}
}
return Json(new { snumber = random }, JsonRequestBehavior.AllowGet);
}
这是视图中的kendo文件上传代码
@(Html.Kendo().Upload()
.Name("files")
.Multiple(false)
.Async(a => a
.Save("Save", "newlyTrained")
.Remove("Remove", "newlyTrained")
.AutoUpload(true)
)
.Events(events => events
.Success("onSuccess")
.Remove("onRemove"))
)
我可能错了,但我怀疑控制器中的保存操作被上传按钮和jquery帖子命中两次