Si j'applique [Route (Name = "WhatEver")] à l'action, que j'utilise comme route de site par défaut, j'obtiens HTTP 404 en accédant à la racine du site.RouteAttribute a rompu mon itinéraire par défaut
Par exemple:
- Créer un nouveau exemple de projet MVC.
Ajouter Attributs de routage:
// file: App_Start/RouteConfig.cs public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapMvcAttributeRoutes(); // Add this line routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } }
Ajouter Attributs de routage
[RoutePrefix("Zome")] public class HomeController : Controller { [Route(Name = "Zndex")] public ActionResult Index() { return View(); } ... }
Et maintenant, lorsque vous démarrez votre projet pour debuging, vous aurez erreur HTTP 404. Comment dois-je utiliser le routage d'attribut avec le mappage de route par défaut? Lorsque vous démarrez votre site, un chemin par défaut est défini dans le fichier route.config dans le dossier App_Start.
Quel est l'objectif derrière l'utilisation '[Route (Name = "Zndex")]' 'attribut d'action Index'? '[domain]/Zome' se référera automatiquement à' [domain]/Zome/Index', en utilisant 'RouteAttribute' peut nécessiter' [domain]/Zome/Zndex' pour atteindre l'action 'Index'. –
Je pense que les noms de routes ne sont pas utilisés dans la correspondance de route, donc '[domain]/Zome/Zndex' pointe vers nulle part. J'ai besoin d'un nom pour l'itinéraire sur l'action Index, parce que je veux utiliser Url helper avec des noms de route comme ceci: 'Zndex page' –