2009-04-20 8 views
1

J'envisage de créer une vue qui permette des fonctions de recherche et d'édition basées sur ajax. J'apprécierais tout commentaire sur la structure que je considère!asp.net mvc rechercher et éditer des vues

La structure sera composée de une zone de texte et un bouton de recherche Envoyer du bouton provoque la recherche d'action à frapper, et une partie est retournée avec - représentation textuelle des objets trouvés dans un div nommé « itemDisplay ## "(## étant l'ID de l'élément trouvé) - bouton nommé edit - placeholder div avec l'ID de l'élément trouvé" itemEdit ## " Lorsqu'un utilisateur clique sur le bouton d'édition, une vue partielle (Edit.ascx) est demandé et remplit le div nommé itemEdit ## Edit.ascx possède des boutons Enregistrer et Annuler.

Succès Enregistrer et annuler masquer le div d'édition et affiche l'élément d'origineAffichage ## Echec lors d'une sauvegarde est affiché dans le fichier edit.ascx.

Répondre

2

Tout cela ressemble à des actions discrètes et donc pas particulièrement RESTful dans sa mise en œuvre. Typiquement, je vais avoir une action de liste avec filtrage - ce filtrage pourrait être fait via AJAX puisque ce qu'il retourne est fondamentalement la même vue. Cliquer sur un élément particulier peut m'amener à une vue détaillée - avec un bouton d'édition. Je pourrais également inclure un bouton d'édition dans la liste, auquel cas cliquer dessus m'amènerait à une page de détails en mode d'édition. La liste, la vue et l'édition sont toutes des actions différentes et ont des URL différentes. Cliquez sur le bouton de la liste dans Afficher ou Modifier pour revenir à l'action Liste. Cliquez sur le bouton Enregistrer dans Modifier pour revenir à la vue de cet élément. Cela confirme que l'élément a été mis à jour. Les erreurs dans Modifier rendent la vue d'édition avec les messages appropriés. Ma règle de base est d'utiliser AJAX lorsque le contexte de la vue ne change pas, mais une requête complète (GET/POST) lorsqu'une nouvelle action (nouveau contexte) est appelée. Cela permet de garder l'interface (URL) RESTful. Bien sûr, vous pouvez le faire comme vous le souhaitez, mais MVC facilite les URL RESTful et les URL RESTful permettent à l'utilisateur de mettre facilement en signet une page pour y revenir facilement - précisément parce qu'elles correspondent à une action particulière sur un élément de données particulier.

0

La recherche peut être effectuée de manière 'ajax' comme vous le décrivez. Utiliser la même URL/page pour éditer et afficher les détails encombrera le code, et comme indiqué dans une autre réponse n'est pas très reposant, donc j'utiliserais des URL et des pages séparées pour cela.

Questions connexes