如何触发 JQuery 对话框以从 MVC 分部视图的控制器关闭

How can I trigger a JQuery dialog to close from an MVC partial view's controller?

本文关键字:视图 控制器 MVC JQuery 何触发 对话框      更新时间:2023-09-26

我有一个在JQuery对话框中呈现的部分视图。我可以使用javascript轻松打开和关闭对话框,但我似乎无法从部分视图的控制器中关闭对话框。

以为我可以使用JavascriptResult:

return new JavaScriptResult { Script = "$('"#popupDiv'").dialog('"close'");" };

但这只会在浏览器中显示javascript。

控制器操作中向 JQuery 对话框发出关闭信号的提示方法是什么?

你提到了部分视图和javascript结果,所以我想这个部分视图是使用AJAX调用的。如果是这种情况,您可以在成功回调中关闭对话框:

$.ajax({
    url: '/someaction',
    success: function(result) {
        $('#popupDiv').dialog('close');
    }
});

然后,可以让控制器操作返回指示此操作成功或失败的 Json 结果。然后在成功回调中,您可以测试此值并在一切正常时关闭对话框,如果出现问题,则显示错误消息:

return Json(new { success = true });

然后:

success: function(result) {
    if (result.success) {
        $('#popupDiv').dialog('close');
    } else {
        alert('Oops something went wrong, sorry');
    }
}