Mvc: route de config afin routes
j'ai ajouté un itinéraire personnalisé comme ce
routes.MapRoute(
name: "Default",
url: "{coutry}/{lang}/{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
maintenant im obtenir quelques problèmes quand j'essaie d'appeler une méthode d'un contrôleur, ce qui fonctionnait bien avant d'ajouter la nouvelle route
<a id="someId" class="link-button" href="../Documents/Create"><span>Create</span></a>
maintenant, la seule façon que je peux atteindre avec quelque chose comme href="EN/us/Documents/Create"
est-il un moyen pour garder la route personnalisée pour mon côté client, et toujours en gardant le href="../Documents/Create">
moyen pour mon admin côté, c'est parce que j'ai plusieurs fonctionnalités dans l'admin côté développés, mais maintenant, je dois l'inclure itinéraire personnalisé pour le côté client. Je vous remercie beaucoup.
Il y a mes itinéraires maintenant
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "CustomRoute",
url: "{country}/{lang}/{controller}/{action}",
defaults: new { controller = "Test", action = "Index" }
);
mais je n'ai accès qu'à CustomRoute avec /ES/es/Test/Index ... pourquoi ne pas prendre les valeurs par défaut ?
OriginalL'auteur Steve | 2013-04-17
Vous devez vous connecter pour publier un commentaire.
Vous suffit de déclarer votre itinéraire personnalisé après la route par défaut:
Je le sais et c'était ma première réponse, voir mon montage, mais en regardant de plus près, à son exemple, il n'est pas le cas.
J'ai vraiment aprecciate de votre aide, merci de consulter mon éditer et de me dire si vous savez ce qui se passe ...
D'accord pour m'assurer de ne pas vous donner une mauvaise réponse, au moins quelque chose qui fonctionne, j'ai testé mon propre code. J'ai donc cette route config que je vous ai donné et ce:
<a id="someId" class="link-button" href="../Documents/Create"><span>Create</span></a> <a class="link-button" href="EN/us/someother/testmethod2"><span>Go to Method 2</span></a>
. À la fois la méthode a été appelée. Alors, que voulez-vous dire parwhy is not taking default values
?Ok, vous êtes droit, de manière à ce que im essayant de dire u est, le CustomRoute est pour mon index, et quand j'essaie d'acces avec
http://localhost:xxxx/Es/es/
- je obtenir de l'erreur 404, il n'est pas pris SomeOther contrôleur et l'action "Index", que nous définissons par défaut, je ne peux obtenir l'accès àhttp://localhost:xxxx/Es/es/SomeOther/Index
et j'ai besoin de la première manière s'il vous plaît. Merci.OriginalL'auteur von v.
Vous avez remplacé le défaut RouteConfig à la nouvelle configuration, et il ne correspond pas à une Url dans le {pays}/{lang}/{controller}/{action} format.
Si vous voulez accepter le
../Documents/Create
Url que Vous avez à ajouter de la valeur par défaut RouteConfig à la fin.Également dans la balise d'ancrage
<a id="someId" class="link-button" href="../Documents/Create"><span>Create</span></a>
au lieu de coder en dur leshref
vous pouvez écrire comme suit.<a id="someId" class="link-button" href="@Url.Action("Create","Documents")><span>Create</span></a>
Mise à jour de ma réponse et s'il vous plaît essayer.
vous avez raison et j'ai essayé votre réponse, je vous remercie beaucoup, mais maintenant im obtenir le problème que je n'ai accès qu'à CustomRoute avec /ES/es/Test/Index, c'est pour la page d'accueil et j'ai besoin d'acces avec /Es seul, des idées ?
Quel est votre défaut
Controller
etaction
nom? Où faut-il être redirigé lorsqu'une demande arrive avec/Es/es
Url?c'est maintenant
routes.MapRoute( name: "CustomRoute", url: "{country}/{lang}/{controller}/{action}", defaults: new { controller = "Test", action = "Index" } );
avec le contrôleur de Test et l'Index de l'action, mais Im toujours erreur 404 lors de/Es/es Url
OriginalL'auteur Saanch