web-dev-qa-db-ja.com

ASP.NET MVCモーダルダイアログ/ポップアップのベストプラクティス

ASP.NET MVCでモーダルダイアログを実現する最も標準的な方法を探しています。

私がやろうとしていることの例は、「リスト」ページからアイテムを選択するとき、「詳細」ページをリスト上のポップアップで、新しいページではないようにすることです。ハックを探していません。 ASP.NET MVCパターンに従うソリューションにしたいです。また、jQueryとASP.NET Ajaxの外に出ないことをお勧めします(ベストプラクティスとして登場しているプラ​​グインはありません)。

61

Lunchyのダイアログの提案は素晴らしいです。コントローラーアクションに対してajaxリクエストを行い、フォーマットHTMLを含む部分ビューのように、アクションが表示したいものを返すようにします。次に、そのhtmlをダイアログに挿入するか、表示する予定のものをすべて表示して表示します。

20
scottm

JQuery UIライブラリーには、このようなことのために使用するダイアログウィジェットがあります。 IMOのプラグインですが、ベストプラクティスは、独自のダイアログウィジェットをローリングしないことです。

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

37
Casey Williams

MVCと連動するものの1つにRESTful URLがあります。これを処理する「標準的な」方法は、ページ上でダイアログを飛ばすのではなく、詳細が独自のRESTful(およびブックマーク可能な)URLで新しいページをプルアップすることです。リストのコンテキスト内で「詳細プレビュー」ダイアログを実行できますが、詳細とやり取りする場合は、完全なリクエストを実行して独自のページで詳細を取得することを検討します。

6
tvanfosson