【发布时间】:2010-10-21 13:16:26
【问题描述】:
我的应用程序中有以下路由...
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 }
);
}
我正在使用Martijn Boland's paging mechanism,它最终会进行以下调用:
var virtualPathData =
RouteTable.Routes.GetVirtualPath(this.viewContext.RequestContext, pageLinkValueDictionary);
我已验证我在 RequestContext 中的控制器和操作是有效的。但是一旦进行了这个调用,virtualPathData 就会引用 foo/bar.css 的 URL。我已验证 URL 映射到正确的控制器/操作。如果我注释掉上面的路由保留默认值,virtualPathData 的 URL 对应于正确的控制器/动作。
我也尝试了以下行,结果相同。
//var virtualPathData =
RouteTable.Routes.GetVirtualPathForArea(this.viewContext.RequestContext, pageLinkValueDictionary);
谁能帮我弄清楚我做错了什么?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-2 routing paging