ASP.NET MVC URL par Défaut de la Vue
Je suis en train de définir l'URL par Défaut de mon MVC de l'application d'une vue à l'intérieur d'une zone de mon application. La région est appelée "Commune", le contrôleur "Maison" et la vue "Indice".
J'ai essayé de réglage de la defaultUrl dans la section de formes de web.config pour "~/Common/Home/Index", sans succès.
J'ai aussi essayé la cartographie d'un nouveau parcours au mondial.asax, donc:
routes.MapRoute(
"Area",
"{area}/{controller}/{action}/{id}",
new { area = "Common", controller = "Home", action = "Index", id = "" }
);
De nouveau, en vain.
Sur la poursuite de l'enquête, il apparaît que la demande est dirigé vers le contrôleur correct (c'est à dire MyApp.Les zones.Commun.Les contrôleurs.HomeController) avec ou sans votre changement proposé. Cependant, dans les deux cas, la ViewEngine est uniquement à la recherche de l' ~/Views/Home et ~/Views/dossiers Partagés, plutôt que de commencer avec ~/Zones/Communes/Views/Home et ~/Zones/Communes/Views/Shared. Étrangement, si je crée une page avec un ActionLink au même contrôleur méthode Index ()), alors il fonctionne OK. Hmmm.
stackoverflow.com/questions/2140208/... Qui peuvent vous aider. J'ai eu un problème similaire.
stackoverflow.com/questions/2140208/... Qui peuvent vous aider. J'ai eu un problème similaire.
OriginalL'auteur Moose Factory | 2010-01-05
Vous devez vous connecter pour publier un commentaire.
L'itinéraire que vous avez énumérés fonctionne uniquement si elles explicitement de taper l'URL:
Ce que la route est dit:
Si je reçois une demande qui a une validité
{area}
, valide{controller}
dans ce domaine, et valide{action}
dans ce contrôleur, puis la route.Ce que vous voulez, c'est par défaut que le contrôleur s'ils viens de visiter votre site,
yoursite.com
:Ce que cela dit, c'est que si ils ne le font pas ajouter quelque chose à
http://yoursite.com
puis l'acheminer à l'action suivante:Common/Home/Index
Aussi, le mettre en haut de vos itinéraires table.
Permet de s'assurer que vous êtes également laisser MVC savoir pour vous inscrire, les domaines que vous avez dans l'application:
Placez la ligne suivante dans votre
Application_Start
méthode dans leGlobal.asax.cs
fichier:OriginalL'auteur George Stocker
Ce que vous avez à faire est de:
Supprimer la Route par Défaut de global.asax.cs
Mise À Jour SecurityAreaRegistration.cs dans la zone Commune
Ajouter la suite de cartographie itinéraire:
OriginalL'auteur user279993
Ce que vous faites semble correct. Si je devais deviner, je dirais que ce qui se passe en raison de la façon dont vous exécutez votre site web. Dans Visual Studio, si vous avez un point de vue spécifique sélectionnée lorsque vous appuyez sur la touche F5 qui sera l'Url de départ - essayez de sélectionner le Projet, puis en appuyant sur F5?
Il valait la peine d'essayer 😀
OriginalL'auteur Jaco Pretorius
Dans le monde.asax
supprimer la .MapRoute
et la faire ressembler à
puis dans la zone de yourareaAreaRegistration.cs (là si vous avez ajouté de la région au travers VS)
OriginalL'auteur Egli Becerra