ASP.NET MVC模式对话框/弹出窗口最佳实践

时间:2009-05-14 01:58:10

标签: jquery asp.net-mvc asp.net-ajax modal-dialog

我正在寻找在ASP.NET MVC中实现模态对话框的最标准方法。

我想要做的一个例子就是当我从“列表”页面中选择一个项目时,我希望“详细信息”页面是列表上的弹出窗口而不是新页面。我不是在寻找黑客。我希望它是一个遵循ASP.NET MVC模式的解决方案。我也不喜欢不使用jQuery和ASP.NET Ajax(没有插件,除非它正在成为最佳实践)。

3 个答案:

答案 0 :(得分:37)

jQuery UI库有一个对话框小部件,我用它来做这样的事情。虽然它是一个插件,IMO,但最佳做法是不要滚动你自己的对话框小部件。

http://jqueryui.com/demos/dialog/

答案 1 :(得分:20)

Lunchy的对话建议很好。只需向控制器操作发出一个ajax请求,并让操作返回您想要显示的内容,例如带有一些格式化html的局部视图。然后,将该html放入对话框或计划显示的任何内容中,并显示它。

答案 2 :(得分:6)

与MVC密切相关的一件事是RESTful网址。在这种情况下,处理这种情况的“标准”方式是让细节通过它自己的RESTful(和可收藏的)URL拉出一个新页面,而不是在页面上飞行对话框。您当然可以在列表的上下文中执行“详细信息预览”对话框,但如果您要与详细信息进行交互,我会考虑执行完整请求并在其自己的页面上获取详细信息。