Maison > Questions et réponses > le corps du texte
Asp.net mvc est généralement
contrôleur/action/paramètres
Formulaire d'adresse
Mais la plupart du temps, l'adresse du site Web n'est pas un tel chemin
Par exemple :
xxxx.com/asp.net/
xxxx.com/asp.net/mvc/
xxxx.com/asp.net/webform/
xxxx.com/asp.net/ado.net/
xxxx.com/javascript/
xxxx.com/javascript/jquery/
xxxx.com/javascript/angularjs/
xxxx.com/javascript/jichu/
xxxx.com/jiaoyu/
Pour le moment, l'adresse n'est pas sous forme de contrôleur/action/paramètre
Je ne sais pas comment tracer ce genre de chemin dans asp.net mvc ? ? ?
阿神2017-05-16 17:08:19
Cela dépend de la manière dont vos règles de routage sont définies et de l'ordre dans lequel les itinéraires sont définis.
Si cette requête entre dans le modèle de pipeline ASP.NET, elle ira vers la route prédéfinie pour effectuer la correspondance. Lorsqu'elle rencontrera la première route correspondante, elle renverra directement le résultat du routage.
Par exemple, la première règle de routage de l'itinéraire par défaut est :
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Admin", action = "Login", id = UrlParameter.Optional }
);
xxxx.com/asp.net/ correspondra à cette règle de routage, controller="asp.net", action="Login";
xxxx.com/asp.net/mvc/ correspondra également à cette règle de routage, controller="asp.net", action="mvc";
Supposons que vous définissiez une autre règle de routage, et que cette règle de routage se trouve juste avant la règle de routage :
routes.MapRoute(
name: "asp.net",
url: "asp.net/{controller}/{action}/{id}",
defaults: new { controller = "User", action = "Link", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Admin", action = "Login", id = UrlParameter.Optional }
);
xxxx.com/asp.net/ correspondra à cette règle de routage, controller="User", action="Link";
Cependant, xxxx.com/cast/ ne correspondra pas à la première règle de routage, mais continuera à correspondre à la deuxième règle de routage. À ce moment-là, la correspondance sera réussie, controller="cast", action="Login"
Il est recommandé de lire le livre « Maîtriser le framework ASP.NET MVC3 ». Le chapitre 11 des règles de routage fournit une analyse et une introduction à ce problème.