MVC, Html.Partielle ou Html.Action
Je suis nouvelle asp.net MVC, donc s'il vous plaît garder avec moi. J'ai besoin de construire un menu qui se répète à travers de multiples points de vue. Ce qui permettrait de mieux servir l'objectif Html.Action
OU Html.Partielle
.
- Sans plus d'info Html.Partielle. Mettez vous êtes menu contenu dans une vue partielle et de l'appeler avec
@Html.Partial("partialViewName")
- Merci Jissak.
- Une Action ne un ensemble beaucoup plus (peut-être) que le juste retour de vue. Supposons que vous souhaitez compter (Log) chaque fois que le menu est construit (ou un journal qui a demandé le menu, ou ce genre de menu, il est demandé). La ligne de fond serait le même, le menu statique div en html. Mais le résultat ne serait pas.
Vous devez vous connecter pour publier un commentaire.
Voici ce que je considère comme mes lignes directrices sur l'utilisation de Html.Action ou Html.Partielle
Html.Partielle
Html.Partial
lorsque vous êtes rendu du contenu statique ou,Html.Action
Html.Action
lorsque vous avez réellement besoin de récupérer des données supplémentaires à partir du serveur pour remplir la vue partielleEn gros, si elle est statique, l'utilisation
Html.Partial()
. Si dynamique, indépendant du modèle de données, l'utilisationHtml.Action()
. Il y a probablement plus de scénarios, mais cela vous donnera une bonne idée de l'endroit où/comment aller.Html.RenderPartial()
etHtml.RenderAction()
sont interchangeables pour les fonctions de même nommées ci-dessus.Html.Partielle: Rendre un Vue Partielle sans frapper un contrôleur de la première action. Voir: Vues Partielles
Html.Action Appeler un d'Action du Contrôleur, qui peut retourner un point de vue/vue partielle (ou ne peut pas, elle risque de jeter un HttpNotFound ou de retour Json, ou d'autres choses).
Votre menu besoin d'un modèle de vue, ou est-il statique?
Si c'est un menu statique,
Html.Partial
adaptée à vos besoins. Placer le menu statique contenu à l'intérieur de la vue partielle et appelHtml.Partial
où vous le souhaitez à rendre.Si le menu est en train d'être générés à partir d'un modèle de vue, vous pouvez utiliser soit
Html.Partial
ouHtml.Action
:Chaînage le modèle de vue à l'aide de Html.Partielle:
Ici nous passons une vue complète du modèle de la vue et de la vue des appels Partiels et les mains de son modèle hors de la vue partielle.
** Séparer le modèle à l'aide de Html.Action:**
Ici, la vue des appels à l'action du contrôleur MenuView qui crée un nouveau modèle de vue et les transmet à l'partielle.