1
我有一个带有自动完成功能和一个按钮的文本框。点击按钮模式弹出窗口打开.Modal弹出窗口有两个文本框字段,即ProductName和Categoryame以及一个用于将此信息保存到数据库的按钮。 我已经成功地使用模态popup.But保存数据,但之后我得到了这个输出{“status”:true,“message”:“成功保存。”}。如何在保存数据后使用Bootstrap模式弹出窗口在Asp.Net中保存数据后无需重新加载完整表单MVC
但我想返回与文本框和按钮相同的初始视图,以便保存的产品开始出现在自动完成文本框中。 我的控制器的代码是:
[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;
}
});
}
我更正了我的json对象,但现在我仍然将{“status”:true,“message”:“Success Saved。”,“success”:true}作为输出。 –
Thankyou Federico,你是对的,但我又犯了一个错误。我没有调用bindForm()函数。 –