Comment rendre vue partielle en asp.net mvc 2 en utilisant le contrôleur et l'action?

StackOverflow https://stackoverflow.com/questions/2408961

  •  18-09-2019
  •  | 
  •  

Question

<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 du livre de Steven Sanderson "Pro Framework ASP.NET MVC."

Ce code fonctionne avec MVC V1 et MvcContrib. Ce qu'il fait, elle rend un « Menu () » vue « Nav: Controller ». Depuis ASP.NET MVC V2 inclut la fonctionnalité partielle () et RenderPartial (), j'ai essayé de le mettre en œuvre, mais ce code ne fonctionne pas. J'ai essayé de le modifier de plusieurs façons, mais il semble qu'il n'y a pas de fonction de surcharge qui rend une vue partielle, en prenant comme paramètres: 1) Nom du contrôleur 2) Nom de la vue

Je suis sûr que je ne suis pas la première personne qui met en œuvre RenderAction () de cette manière, donc, il doit y avoir une solution de contournement. S'il vous plaît aider.

Était-ce utile?

La solution

  

J'ai trouvé le problème. Je retire toujours la route {contrôleur} / {action} et de personnaliser tous mes itinéraires avec REST minuscules comme les URL. Mais pour Html.RenderAction il est nécessaire d'avoir une telle voie générale. J'ai ajouté que la route générale jusqu'à la fin de ma liste d'itinéraires et cela a fonctionné. - Mahdi 22 février à 14h42

Bien que je ne comprends toujours pas, comment EXACTEMENT cela fonctionne, pourquoi sucer la route nessesary, et quelles sont les contraintes de la route. Peut-être que je vais faire des recherches plus tard.

Autres conseils

RenderAction est en MVC2 (docs ici ). On dirait que vous avez changé votre code pour utiliser RenderPartial au lieu qui est tout à fait différent. Changez-le revenir à l'utilisation RenderAction et vous devriez être ok. Si vous ne l'avez pas dans votre version, peut-être vous devez mettre à jour à la dernière version bêta?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top