我正在寻找在ASP.NET MVC中实现模态对话框的最标准方法.
我想要做的一个例子就是当我从"列表"页面中选择一个项目时,我希望"详细信息"页面是列表上的弹出窗口而不是新页面.我不是在寻找黑客.我希望它是一个遵循ASP.NET MVC模式的解决方案.我也不希望不使用jQuery和ASP.NET Ajax(没有插件,除非它作为最佳实践出现).
jQuery UI库有一个对话框小部件,我用它来做这样的事情.虽然它是一个插件,IMO,但最好的做法是不要滚动你自己的对话框小部件.
http://jqueryui.com/demos/dialog/
Lunchy的对话建议很好.只需向控制器操作发出一个ajax请求,并让操作返回您想要显示的内容,例如带有一些格式化html的局部视图.然后,将该html放入对话框或您计划显示的任何内容,并显示它.
与MVC密切相关的一件事是RESTful网址.在这种情况下,处理这种情况的"标准"方式是让细节用它自己的RESTful(和可收藏的)URL拉出一个新页面,而不是在页面上飞行对话框.您当然可以在列表的上下文中执行"详细信息预览"对话框,但如果您要与详细信息进行交互,我会考虑执行完整请求并在其自己的页面上获取详细信息.