61 votes

Meilleures pratiques en matière de dialogue modal et de fenêtre contextuelle en ASP.NET MVC

Je cherche le moyen le plus standard de réaliser des dialogues modaux dans ASP.NET MVC.

Un exemple de ce que j'essaie de faire est que lorsque je sélectionne un article dans ma page "liste", je veux que la page "détails" soit un popup au-dessus de la liste et NON une nouvelle page. Je ne suis pas à la recherche d'une solution miracle. Je veux une solution qui respecte le modèle ASP.NET MVC. Je préférerais également ne pas m'écarter de jQuery et d'ASP.NET Ajax (pas de plugins À MOINS que cela ne devienne une meilleure pratique).

37voto

Casey Williams Points 2727

La bibliothèque jQuery UI possède un widget de dialogue que j'utilise pour ce genre de choses. Bien qu'il s'agisse d'un plugin, la meilleure pratique consiste à ne pas développer votre propre widget de dialogue.

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

20voto

scottm Points 13578

La suggestion de dialogue de Lunchy est intéressante. Il suffit de faire une requête ajax à l'action de votre contrôleur et de faire en sorte que l'action renvoie ce que vous voulez afficher, comme une vue partielle avec du html de mise en forme. Ensuite, mettez ce html dans votre boîte de dialogue, ou tout ce que vous prévoyez d'afficher, et affichez-le.

8voto

user1911353 Points 71

Je n'ai pas trouvé le moyen de faire le lien avec la réponse précédente de @tvanfosson, donc j'écris ceci comme une nouvelle réponse.

Je ne suis pas du tout d'accord.

L'architecture OMI devrait nous aider à concevoir des sites Web (ou tout autre type de site Web) faciles à utiliser, tels que les voit le client. La technologie ou un modèle de conception ne devrait jamais nous forcer à utiliser une interface utilisateur ou un langage de programmation spécifique ou interférer avec nos désirs. Le modèle de conception doit nous servir et non l'inverse !

6voto

tvanfosson Points 268301

L'une des choses qui va de pair avec MVC, ce sont les urls RESTful. Dans ce cas, la façon "standard" de gérer cette situation serait de faire en sorte que les détails affichent une nouvelle page avec sa propre URL RESTful (et pouvant être ajoutée aux favoris) au lieu d'afficher une boîte de dialogue sur la page. Vous pouvez certainement créer une boîte de dialogue "aperçu des détails" dans le contexte de la liste, mais si vous voulez interagir avec les détails, j'envisagerais de faire une requête complète et d'obtenir les détails sur sa propre page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X