Je vais avoir des problèmes avec les routages dans mon projet MVC ne fonctionne pas ...Acheminement spécial MVC ne fonctionne pas
Je veux que tous mes points de vue dans le dossier Views > Shared
comme celui-ci:
Error.cshtml (par défaut)
Index.cshtml (par défaut)
Overview.cshtml (coutume que je fait)
Recordings.cshtml (coutume que je fait)
J'ai alors créé un contrôleur partagé pour gérer toutes les vues comme celui-ci:
public class SharedController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Error()
{
return View();
}
public ActionResult Overview()
{
return View();
}
public ActionResult Recordings()
{
return View();
}
}
Mon RouteConfig.cs
ressemble à ceci:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// Map to specific pages under Shared controller:
routes.MapRoute("SharedPages", "{action}/{id}",
new { controller = "Shared", action = @"Overview|Recordings", id = UrlParameter.Optional });
// Use the default rout for all other pages:
routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "Shared", action = "Index", id = UrlParameter.Optional }
);
// Show the Error page for anything else (404):
routes.MapRoute("Error", "{*url}",
new { controller = "Shared", action = "Error" }
);
}
Je veux que le routage fonctionne comme ceci:
: // (url)/(root - aucune action spécifiée) -> Shared/Index.cshtml
: // (url)/Index -> Shared/Index.cshtml
: // (url)/Vue d'ensemble -> Shared/Overview.cshtml
: // (url)/Enregistrements -> Shared/Recordings.cshtml
: // (url)/quoi (ou si un erreur se produit) -> Shared/Error.cshtml
Mais cela ne fonctionne pas comme prévu. Si je vais à ://(url)/
(racine), je reçois un HTTP 404 - The resource cannot be found.
Si je vais par exemple ://(url)/Overview
, ça fonctionne très bien.
Comment puis-je le faire fonctionner comme je le veux?
Essayez ceci: http: // stackoverflow .com/a/11474788/231716 –