簡體   English   中英

如何在Asp.Net MVC中使用Bootstrap模式彈出窗口保存數據后返回View而不重新加載完整表單

[英]How to return View without reloading complete form after saving data using Bootstrap modal popup in Asp.Net MVC

我有一個帶有自動完成功能的文本框和一個按鈕。單擊按鈕模式彈出窗口打開.Modal彈出窗口有兩個文本框字段,即ProductName和Categoryame,以及一個用於將此信息保存到數據庫中的按鈕。 我已經成功使用模態彈出窗口保存數據。但之后我得到此輸出{“status”:true,“message”:“Successfully Saved。”}。

但我想用文本框和按鈕返回相同的初始視圖,以便保存的產品開始出現在自動完成文本框中。 我的控制器代碼是:

[HttpPost]
    public ActionResult Create(Product prod)
    {
        string message = "";
        bool status = false;
        if (ModelState.IsValid)
        {
            db.Products.Add(prod);
            db.SaveChanges();
            status = true;
            message = "Successfully Saved.";
            //string url = Url.Action("CreateProduct", "Products");
            //return Json(new { success = true });
            return new JsonResult { Data = new { status = status, message = message } };
        }
        return PartialView("Create", prod);

    }

我的jquery代碼是:

function bindForm(dialog) {
        $('form', dialog).submit(function () {
            if ($("#formCrud").valid()) {
                $.ajax({
                    url: this.action,
                    type: this.method,
                    data: $(this).serialize(),
                    dataType: 'json',
                    success: function (result) {
                        if (result.success) {                                
                            alert(result.message);
                            $('#myModal2').modal('hide');

                        } else {
                            $('#myModalContent2').html(result);
                            bindForm(dialog);
                        }
                    }
                });
                return false;
            }
        });
    }

你必須改變這個。

[HttpPost]
    public ActionResult Create(Product prod)
    {
        string message = "";
        bool status = false;
        if (ModelState.IsValid)
        {
            db.Products.Add(prod);
            db.SaveChanges();
            status = true;
            message = "Successfully Saved.";
            //string url = Url.Action("CreateProduct", "Products");
            //return Json(new { success = true });
            return new JsonResult { Data = new { status = status, message = message, success = true } };
        }
        return PartialView("Create", prod);

    }

您要返回的json對象中沒有成功屬性,因此您永遠無法評估result.success。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM