Comment rendre la vue partielle en asp.net mvc 2 à l'aide du Contrôleur et de l'Action?
<body>
<div id="header">
<div class="title">SPORTS STORE</div>
</div>
<div id="categories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
<div id="content">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</body>
Ceci est un exemple de code à partir de Steven Sandersons " livre "Pro ASP.NET MVC."
Ce code fonctionne avec MVC V1 et MvcContrib. Ce qu'il fait, il rend un "Menu()" vue de la "valeur liquidative : Contrôleur". Depuis ASP.NET MVC V2 comprend l'Partielle() et RenderPartial() fonctionnalité, j'ai essayé de la mettre en œuvre, mais ce code ne fonctionne pas. J'ai essayé de le modifier de plusieurs façons, mais il semble que il n'y a pas de surcharge de fonction qui rend les vues partielles, en prenant comme paramètres:
1) nom du Contrôleur
2) le nom de la Vue
Je suis sûr que je ne suis pas la première personne qui est mise en œuvre RenderAction() de cette façon, donc, il doit y avoir une solution de contournement. S'il vous plaît aider.
OriginalL'auteur Ilya Smagin | 2010-03-09
Vous devez vous connecter pour publier un commentaire.
Bien que je ne comprends toujours pas, comment cela fonctionne, pourquoi est sucer route nessesary, et ce que sont la route de contraintes. Je vais peut-être faire quelques recherches plus tard.
OriginalL'auteur Ilya Smagin
RenderAction
est dans MVC2 (docs ici). Il semble que vous avez changé votre code pour utiliserRenderPartial
à la place qui est complètement différent. Changer de retour à l'emploiRenderAction
et vous devriez être ok. Si vous ne l'avez pas dans votre version, peut-être vous avez besoin de mettre à jour vers la dernière version bêta?Il y a une signature pour RenderAction que prend l'action et le contrôleur, dans cet ordre. Votre code est correct -- avez-vous la dernière MVC2 bêta? Est-il possible que vous avez un conflit avec le MVCContrib lib -- vous devriez le supprimer de votre projet, je pense.
Je n'ai pas de références à MVCContlib. Je suis également sûr d'avoir la dernière vertion de la MVC, qui est inclus dans MS VS 2010 RC Ultime. Des renseignements supplémentaires seront fournis dans quelques heures. Merci pour ces réponses rapides, tvanfosson.
J'ai vérifié: <% Html.RenderAction("Menu", "Nav" comme une chaîne de caractères); %>, déclenche une exception Aucune route dans la table de routage correspond aux valeurs fournies. VS 2010 RC, pas de mvcContlib utilisé.
OriginalL'auteur tvanfosson