MVC 5 - 如何更新文件并返回成功消息?

时间:2016-09-12 15:47:00

标签: javascript json asp.net-mvc file upload

我已尝试过Ajax.BeginForm,但它不起作用。

使用Ajax.BeginForm,文件以null形式到达。

现在我试图用Html.BeginForm解决问题,图像也是空的。

我做错了什么?

_Upload.cshtml:

<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h4 class="modal-title">Upload</h4>
</div>
@using (Html.BeginForm("Upload", "Account", FormMethod.Post, new { enctype = "multipart/form-data", @class = "form-horizontal", role = "form" }))
{

@Html.AntiForgeryToken()
<div class="modal-body">
    <div class="form-horizontal">
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })

        <div class="form-group">

            <div class="col-xs-6">
                @Html.LabelFor(model => model.Image)
                @Html.TextBoxFor(model => model.Image, new { @class = "form-control", @type = "file" })
            </div>
        </div>      


        <center><div id="result"></div></center>
        <div class="modal-footer">
            <input type="submit" id="submit_button" class="btn btn-success" value="Update" />
            <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
        </div>

        <script>

    $(function () {

        $("#submit_button").click(function (e) {
            e.preventDefault();

            var _form = $(this).closest("form");
            var _formData = _form.serialize();


            $.post(_form.attr("action"), _formData, function (res) {

                if (!res.IsSuccess) {
                    var errors = "";
                    $.each(res.Errors, function (i, item) {
                        errors = errors + "<li>" + item + "</li>";
                    });
                    $("#result").html('<div class="alert alert-success" role="alert"><strong>Well done!</strong> You successfully read <a href="#" class="alert-link">this important alert message</a>.</div>');
                }
                else {
                    //No errors. May be redirect ?
                }
            });

        });

    });

</script>

控制器:

[HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Upload(My_Models model)
        {
            return Json(new { IsSuccess = false });
        }

通过模型删除图像上方的JavaScript。在图像上方插入JavaScript不会到达。发生了什么事?

上面的JavaScript只是为了显示有关获取图片的消息。

0 个答案:

没有答案