1

我正在使用 System.Web.Routing.UrlRoutingModule。

我正在写:

routes.Add(new Route(@"cart/add", new RouteHandler("~/Order/CartAdd.ashx")));
routes.Add(new Route(@"cart/delete", new RouteHandler("~/Order/CartDelete.ashx")));
...

我也有一条路线叫:

routes.Add(new Route(@"{*url}", new RouteHandler("~/Error/PageNotFound.ashx")));

但是如果我直接去 /Order/CartAdd.ashx 我永远不会进入路由。它直接转到那个处理程序。如果我去 /Order/ 我得到一个 403.14 错误。

我如何改为通过路由捕获这些 url?

4

1 回答 1

1

在您的路线注册代码中,您可以编写类似这样的内容..

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.RouteExistingFiles = true;
        routes.IgnoreRoute("default.aspx");
        [...]

这应该通过您的路由规则强制文件请求。

于 2010-01-22T11:52:18.360 回答