J'ai le routage suivant dans mon application ...Route correspondant à GetVirtualPath
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Branding",
"foo/bar.css",
new { controller = "DynamicContent", action = "CSS" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Account", action = "Index", id = UrlParameter.Optional }
);
}
J'utilise Martijn Boland's paging mechanism et il fait finalement l'appel suivant:
var virtualPathData =
RouteTable.Routes.GetVirtualPath(this.viewContext.RequestContext, pageLinkValueDictionary);
J'ai vérifié que mon contrôleur et l'action dans RequestContext sont valides. Mais une fois cet appel effectué, virtualPathData référence l'URL de foo/bar.css. J'ai vérifié que les URL correspondent au bon contrôleur/action. Si je commente l'itinéraire ci-dessus en laissant la valeur par défaut, l'URL de virtualPathData correspond au bon contrôleur/action.
J'ai aussi essayé la ligne suivante et j'ai le même résultat.
//var virtualPathData =
RouteTable.Routes.GetVirtualPathForArea(this.viewContext.RequestContext, pageLinkValueDictionary);
Quelqu'un peut-il m'aider à comprendre ce que je fais mal?
Merci Phil, ça marche et c'est beaucoup plus propre que ma proposition (qui rétrospectivement ressemble beaucoup à un double négatif) - j'apprécie! – Mayo