Ненавязчивый Ajax, дважды звонящий в форме, отправляющей в ASP. NET MVC - PullRequest
0 голосов
/ 05 января 2020

Я смотрю в файле макета нет сценария Unobtrusive Ajax. Сценарий только в представлении индекса. Вот код представления индекса:

@using (Ajax.BeginForm("Index", "Home", new AjaxOptions() { HttpMethod = "Post", OnSuccess = "successform" }))
{
  //Some code
}

Вот раздел скрипта представления индекса:

@section myscript{
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
    <script>
        function successform() {
            //alert("a");
            $.ajax(
                {
                    type: "GET",
                    url: "/Home/ContactUs"
                }
            ).done(function (editform) {
                $("#dlgcreate-hdr").html("Thanks");
                $("#dlgcreate-bdy").html(editform);
                $("#dlgcreate").modal();
            });
        }
    </script>
}

Вот код контроллера:

        [HttpPost]
        public ActionResult Index(ContactUsModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    ContactUs entity = model.ToContactUsEntity();
                    TempData["ContactUsPersonName"] = model.Name;
                    entity.Status = "Pending";
                    new TourHandler().AddContactUsForm(entity);
                    return RedirectToAction("index");
                }
            }
            catch (Exception ex)
            {
                return RedirectToAction("index");
            }
            return RedirectToAction("index");
        }

        [HttpGet]
        public ActionResult ContactUs()
        {
            ViewBag.Data = TempData["ContactUsPersonName"];
            return PartialView("~/Views/Shared/_ContactUsFormSubmit.cshtml");
        }

Как я сказал вам ранее, в файле макета нет дополнительного "Ненавязчивого Ajax" скрипта файла.

...