【问题标题】:my action method returning {"success=true,message="work done"} ASP.net MVC 5我的操作方法返回 {"success=true,message="work done"} ASP.net MVC 5
【发布时间】:2019-03-15 14:33:22
【问题描述】:

这是我的创建操作方法。我想在成功时得到警报。

public JsonResult Create(Student student ,HttpPostedFileBase img)
    {

        if (ModelState.IsValid)
        {
            if (img !=null)
            {
                var name = Path.GetFileNameWithoutExtension(img.FileName);
                var ext = Path.GetExtension(img.FileName);
                var filename = name + DateTime.Now.ToString("ddmmyyyff") + ext;
                img.SaveAs(Server.MapPath("~/img/"+filename));
                student.ImageName = filename;
                student.Path = "~/img/" + filename;
            }
            db.Students.Add(student);
            db.SaveChanges();
            return Json(new  { success = true, responseText = "The attached file is not supported." }, JsonRequestBehavior.AllowGet);


        }

        ViewBag.ClassID = new SelectList(db.Classes, "Id", "Name", student.ClassID);
        return new JsonResult { Data = new { success = false, message = "data not saved" } };

    }

这是我的 ajax 函数:

    function onsub(form) {
    $.validations.unobtrusive.parse(form);
    if (form.valid()) {
        var ajaxConfig = {
            type: "POST",
            url: form.action,
            data: new FormData(form),

            success: function (response) {
                if (response.success ) {
                    alert(response.responseText);
                } else {
                    // DoSomethingElse()
                    alert(response.responseText);
                }
            }
        }
        if ($(form).attr("enctype") == "multipart/form-data") {
            ajaxConfig["contentType"] = false;
            ajaxConfig["processData"] = false;
        }
        $.ajax(ajaxConfig);
    }
    return false;
}

我怎样才能得到一个警报形式呢 无需重新加载表单。我还想提交图像和其他文件来创建操作方法。

这是我提交表单后得到的结果:

【问题讨论】:

    标签: asp.net web model-view-controller


    【解决方案1】:

    在您的情况下,您正在调用返回 JSON 结果的 Create 操作,并且相同的 Json 响应显示在浏览器中。

    它们应该是一个视图页面,您将在其中使用 Ajax 调用调用此方法,然后您将能够看到您的警报消息。

    【讨论】:

      猜你喜欢
      • 2012-05-10
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多