从控制器发布到视图的数据不同

时间:2015-09-26 16:31:42

标签: javascript c# asp.net-mvc-4

我有这个带有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帖子命中两次

0 个答案:

没有答案