我正在构建一个网站,我在jquery ui对话框中调用部分视图。在局部视图中,有一个“保存”按钮,用于将表单上的数据提交到数据库。目前,它重定向到不同的视图。我希望它关闭对话框。我无法正确调用该函数来关闭对话框。
这是我的代码:
在视图中:
<script type="text/javascript">
$.ajaxSetup({ cache: false });
$(document).ready(function () {
$(".diagSave").on("click", function (e) {
e.preventDefault();
$("<div></div>")
.dialog({
title: $(this).attr("data-dialog-title"),
modal: true,
width: 1000,
success: function () {
$('#diagSave').dialog('close');
}
})
.load(this.href);
})
});
</script>
在控制器中:
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
有人可以帮助指出我是如何做到这一点的吗?
答案 0 :(得分:0)
另一种方法是在jquery中处理保存点击,使用.serialize将表单集合发送到控制器,然后关闭对话框。
var formvalues = $('#yourformparentdiv form').serialize();
$.ajax({
url: siteRoot + 'Home/YourControllerMethod',
data: formvalues,
async: true,
type: "POST",
...
答案 1 :(得分:0)
如果你需要处理关闭并从部分视图保存,你需要在那里的点击事件中处理关闭。
$("#partialview_savebutton").click(function(e){
var $dlg = $(this).parents(".ui-dialog");
//save the data
$dlg.dialog("close");
});
将内容加载到对话框中时,需要确保绑定此方法。
我通常在对话框打开例程结束时包含它。
if(typeof initDlg == 'function') initDlg();
然后绑定我的事件处理程序并在我的partialview中定义的已定义initDlg(){}
中配置我需要的任何验证。