62

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

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

4

3 回答 3

37

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

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

于 2009-05-14T02:28:16.407 回答
20

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

于 2009-05-14T02:38:48.957 回答
6

与 MVC 齐头并进的一件事是 RESTful url。在这种情况下,处理此问题的“标准”方法是让详细信息使用它自己的 RESTful(和可收藏的)URL 拉出一个新页面,而不是在页面上显示一个对话框。您当然可以在列表的上下文中执行“详细信息预览”对话框,但如果您要与详细信息交互,我会考虑执行完整请求并在其自己的页面上获取详细信息。

于 2009-05-14T02:59:36.753 回答