【发布时间】:2011-02-07 13:32:11
【问题描述】:
我正在尝试添加一个路由,它将所有 sitemap.xml 请求传输到我创建的自定义请求处理程序。
我尝试使用以下代码:
routes.Add(new Route("sitemap.xml", new Helpers.SiteMapRouteHandler()));
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
但是当我使用Url.Action() 建立链接时:
Url.Action("Index", new { controller = "About"})
当我尝试导航到 XML 文件时,我得到以下信息:
/sitemap.xml?action=Index&controller=About
我做错了什么?
回答:
我使用了这个解决方案:
【问题讨论】:
-
您的路线列表中的哪个位置?它看起来很通用,因此它将匹配所有请求。您可能想使用 Phil Haack 的 Route Debugger 来帮助您。
标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-routing