我正在使用ASP.NET MVC 4
,jQuery
和jQuery UI
。如何在AJAX JSON调用后关闭jQuery对话框
我在我的视图上有一个对话框。当我点击一个按钮时,对话框弹出,获取对话框中的值并发送到服务。该服务完成它需要做的事情,并且如果成功或实际的错误消息将发送空白消息。在此之后,我需要检查客户端的错误,关闭当前对话框并打开成功对话框或错误对话框。我不知道如何关闭当前对话框并显示另一个对话框。
我的按钮:
<button id="TestButton" type="button">Display pop up</button>
我的对话:
<div id="confirmationDialog"></div>
<div id="successDialog"></div>
<div id="errorDialog">error dialog</div>
我jQuery代码:
$('#TestButton').click(function() {
$('#confirmationDialog').dialog('open');
});
$('#errorDialog').dialog({
autoOpen: false,
modal: true,
resizable: false,
width: 500,
title: 'Add Rule Detail Error',
buttons: {
'Ok': function() {
$(this).dialog('close');
}
}
});
$('#confirmationDialog').dialog({
autoOpen: false,
modal: true,
resizable: false,
width: 330,
title: 'Add Rule Detail Confirmation',
open: function (event, ui) {
$(this).load('@Url.Action("AddRuleConfirmation")' +
'?systemCode=' + $('#SystemCode').val());
},
buttons: {
'Yes': function() {
var url = '@Url.Action("AddRuleConfirmationSubmit")';
var data = {
systemCode: $('#SystemCode').val()
};
$.getJSON(url, data, function (message) {
alert(message);
if (message == '') {
$(this).dialog('close');
}
else {
$(this).dialog('close');
$('#errorDialog').dialog('open');
}
});
},
'No': function() {
$(this).dialog('close');
}
}
});
我的操作方法:
public ActionResult AddRuleConfirmation(string systemCode)
{
DetailConfirmationViewModel viewModel = new DetailConfirmationViewModel()
{
SystemCode = systemCode
};
return PartialView("_AddRuleConfirmation", viewModel);
}
public ActionResult AddRuleConfirmationSubmit(string systemCode)
{
CreateRuleViewModel viewModel = new CreateRuleViewModel()
{
SystemCode = systemCode
};
ResCodeRuleAdd_Type result = ruleService.AddRule(viewModel);
string message = string.Empty;
if (result != ResCodeRuleAdd_Type.R00)
{
// Get the error message from resource file
message = ...
}
return Json(message, JsonRequestBehavior.AllowGet);
}
如何在获得JSON调用并关闭另一个之后关闭当前的弹出窗口?
我有类似的范围问题。谢谢。 –