Je sais qu'il est l'approche générale:routes.MapRoute Confusion
routes.MapRoute
(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Mais si j'essaie comme ceci:
routes.MapRoute
(
name: "Defaults",
url: "Home/Index/1"
);
Il ne donnera aucune erreur pour exécuter le projet. J'ai Controller = Home
Action = Index()
dans mon HomeController
mais pourquoi Il donne une erreur pendant que je tape ce http://localhost:1702/Home/Index/1
dans mon navigateur?
Error: The matched route does not include a 'controller' route value, which is required.
Quelle partie est obligatoire dans Routage? Une autre question est: Pourquoi nous avons besoin Route Name
?? Si je donne name=""
, cela fonctionne bien, même plus d'un itinéraire est existe comme name=""
'routes.MapRoute ( nom: "Par défaut", url: "{contrôleur}/{action}/{id}", par défaut: new {controller = "Home", action = "Index", id = UrlParameter.Optional} ); –
Non. Si vous essayez comme moi, cela ne vous donnera aucune erreur. Je sais que les routes.MapRoute deviennent comme vous. Par défaut, il comporte trois parties. nom, url et par défaut, je sais cela –
Peut-être que [ceci] (http://stackoverflow.com/questions/23752298/mvc-routing-why-i-can-not-ignore-defaults-the-matched-route-does -not-include-a) peut aider? Votre question semble être un doublon. –