簡體   English   中英

如何觸發JQuery對話框從MVC局部視圖的控制器關閉?

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

我有一個局部視圖,在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');
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM