如何从 MVC 部分视图控制器触发 JQuery 对话框关闭?
我有一个在 JQuery 对话框内呈现的部分视图。我可以使用 javascript 轻松打开和关闭对话框,但我似乎无法从部分视图的控制器内关闭对话框。
我以为我可以只使用 JavascriptResult:
return new JavaScriptResult { Script = "$(\"#popupDiv\").dialog(\"close\");" };
但这只是在浏览器中显示 javascript。
从控制器操作中发出信号关闭 JQuery 对话框的最流行方法是什么?
I have a partial view that is rendered inside of a JQuery dialog. I can easily open and close the dialog using javascript, but I can't seem to get the dialog closed from within the partial view's controller.
I thought I could just use a JavascriptResult:
return new JavaScriptResult { Script = "$(\"#popupDiv\").dialog(\"close\");" };
But that just displays the javascript in the browser.
What is the poper way to signal my JQuery dialog to close from within a controller action?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您提到了部分视图和 javascript 结果,所以我猜这个部分视图是使用 AJAX 调用的。如果是这种情况,您可以在成功回调中关闭对话框:
然后您可以让控制器操作返回一个 Json 结果,指示此操作的成功或失败。然后在成功回调中,您可以测试该值,如果一切正常则关闭对话框,如果出现问题则显示错误消息:
然后:
You mention partial view and javascript result, so I guess this partial view is invoked using AJAX. If this is the case you could close the dialog in the success callback:
Then you can have your controller action return a Json result indicating the success or failure of this action. Then inside the success callback you could test this value and close the dialog if everything went fine and show an error message if there was some problem:
and then: