MVC, Razor - Créer / Modifier afficher les meilleures pratiques
Je travaille avec MVC 3 /Rasoir pour la première fois et il semble étrange que tous les exemples et VS échafaudages pour créer et modifier des points de vue, tous ont séparé HTML vues de ces concepts.
Il n'y a vraiment pas beaucoup de différence entre Créer/Modifier des formes, donc je me demandais pourquoi je ne peux pas trouver des exemples de personnes à l'aide d'un seul formulaire de mise à Jour qui peut être utilisé à la fois de Créer et de Modifier les actions.
J'ai eu droit à une mise à Jour.cshtml vue de travail, mais je me demandais à propos de la façon dont il parle de la Modifier ou de Créer une méthode d'action sur le contrôleur.
Mes questions sont:
- Que quelqu'un a une réponse rapide pour parler au contrôleur, ou
- Quelqu'un connais un tutoriel montrant les bonnes pratiques pour travailler de cette façon, ou
- Est-il une bonne raison pour garder les Créer/Modifier des vues distinctes quand le HTML est souvent le même.
Acclamations Dave
- double possible de ASP.NET MVC - à l'aide de la même forme à la fois de créer et modifier
Vous devez vous connecter pour publier un commentaire.
Ce (genre!) de la question est posée avant: ASP.NET MVC - à l'aide de la même forme à la fois de créer et de modifier des
Fondamentalement, vous pouvez créer une vue partielle sur votre Créer et de Modifier la vue.
Scott Guthrie a un joli post sur Vues Partielles.
(J'ai lu cela quelque part, mais ne peut pas le trouver, je vais mettre à jour ce post quand je fais le trouver)
Être conscient que les réponses à votre question doit aussi être motivé par le besoin de l'entreprise (et leurs rôles). L'échafaudage ne fournissent une fonctionnalité distincte, qui, dans certains cas, est le préféré de mise en œuvre.
De CRÉER et de MODIFIER des fonctionnalités est souvent à peu près identiques, à partir d'une technique (programmation) point de vue. Cela peut conduire à une technique de personne pense que la fonctionnalité devrait être combinés afin de mettre en œuvre plus efficace de la solution technique. Cependant, toutes les techniques de mise en œuvre doit être une réponse au besoin de l'entreprise, qui peut exiger la séparation (par exemple, par les entreprises, le rôle) de ces préoccupations.
Par exemple, une entreprise peut exiger que le rôle qui Crée des objets d'affaires n'est pas le même que les Éditions eux. Dans ce cas, la mise en œuvre de pages web ne peut pas être vu par les mêmes rôles (et les gens) à tous.
Si vous implémentez de CRÉER et de MODIFIER à l'aide de la fonctionnalité commune, mais le besoin de l'entreprise est pour la séparation des rôles, vous devez toujours mettre en œuvre "le rôle de la vérification" avant le rendu de la vue requise/vue partielle/etc. Dans de tels cas, des vues séparées peut être un préféré de mise en œuvre.
Que je fais. Je ne sais pas si c'est la meilleure pratique, mais ça peut être sympa. Il y a certaines situations où un tout autre ajouter/modifier un point de vue pourrait être utile. Aussi, si vous êtes en utilisant des ViewModels alors autant que je peux dire, vous êtes coincé à l'aide de la même ViewModel pour ajouter et modifier. En théorie, ils devraient tous les deux ont leurs propres Viewmodel.
Voici à quoi cela ressemble pour moi:
AddVideo.cshtml
EditVideo.cshtml
_VideoForm.cshtml (partielle)
J'ai édité ces vers le bas un peu pour quelque chose qui peut manquer, mais ce devrait vous donner une idée générale.
voici comment je le fais, ce n'est pas toujours la meilleure pratique (cela dépend des cas)
1/combiner les actions du contrôleur pour créer et modifier des
2/combiner les modifier et de créer des vues en une seule vue, j'ai appelé Creedit
j'ai donc 1 vue et 2 actions (1 poste et 1) au lieu de 2 points de vue et 4.
Regarder dans MVC, échafaudage nuget ainsi, lorsqu'il génère les fichiers de vue, il n'est donc explicitement la création d'un creatandedit partielle et avoir la page créer et modifier une page utiliser que partielle.