routes .Add ("Detail",
new Route ("{maincategory}/{category}",
new RouteValueDictionary (new { controller = "Category", action = "Detail"}),
new RouteValueDictionary (new { category = new FromValuesListConstraint ("")}),
new MyRouteHandler ()));
routes.Add("Category",
new Route("{category}",
new RouteValueDictionary(new { controller = "Category", action = "Index", category = "" }),
new RouteValueDictionary(new { category = new FromValuesListConstraint("") }),
new MyRouteHandler()));
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Mes itinéraires sont comme ceci. Mais lorsque je lance le site web, la page d'accueil s'affiche. Après l'affichage de la page d'accueil, quelque chose se passe et une nouvelle quête est faite (je ne sais pas pourquoi). Je surcharge le MvcRouteHandler et y place un point d'arrêt.
public class MyRouteHandler : MvcRouteHandler
{
protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
{
var url = HttpContext.Current.Request.RawUrl;
var route = requestContext.RouteData;
return new MvcHandler(requestContext);
}
}
La variable url est /Content/Divider.gif. A cause de cela, après l'affichage de la page d'accueil, l'application donne une erreur. J'ai tout essayé pour comprendre le problème en tant qu'utilisateur novice de mvc, mais je n'ai rien trouvé.
Merci !