Zones ASP MVC et ActionLink
Je suis en train de travailler sur un nouveau projet où je veux utiliser Phil Haack Régions (1) l'idée + Steve Sanderson modifier (2). J'ai une simple vue de la racine avec un lien d'action d'un point de vue d'une région (Foo). L'URL qui est généré a la bonne zone, mais il ajoute la racine contrôleur (Bar) à la fin. Voici ma racine afficher le code:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Index</h2>
<%= Html.ActionLink("Foo Index Page", "Index", new { area="Foo" } )%>
</asp:Content>
et voici l'URL qu'il génère:
localhost:6494/Foo/Bar
Aucune idée pourquoi le "Bar" est là-bas?
(1): haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx
(2): blog.codeville.net/2008/11/05/app-areas-in-aspnet-mvc-take-2/
source d'informationauteur Joe
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une solution. Je ne pense pas qu'il est approprié, donc je vais demander à une amélioration. En spécifiant un nom de contrôleur, je peux obtenir la URL pour former correctement. I. E.
Une fois que je l'ai fait, alors l'URL est correcte
localhost:6494/Foo
Pourquoi est-ce un problème? Phil démonstration utilise le contrôleur avec le nom HomeController. Je ne sais pas (parce que je ne peux pas laisser de traces) comment le Html.ActionLink() la méthode va sur la construction de l'URL; mais il semble que si elle se fonde sur un cas de défaut de HomeController existant, je n'en ai pas.
Si quelqu'un a une suggestion sur la façon de permettre pour les Contrôleurs qui ne sont pas nommées d'Accueil par défaut, s'il vous plaît répondre. Grâce
De ne pas avoir
Home
comme valeur par défaut le nom du contrôleur, il suffit de modification de l'itinéraire par défaut.@Joe
Dans votre App_Start/RouteConfig.cs fichier que vous devez changer la valeur par défaut du contrôleur de la Maison que vous voulez :