[英]How to pass iteration variable to bootstrap modal popup in partial view asp.net mvc
[英]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.