2

我一直试图在 Global.asax 中创建另一条路线。

我正在使用 MVC3 为我的网站创建动态页面。当我输入这个 URL /Home/GetPages/About%20Us

它提取正确的控制器方法并提取数据。

但是,我正在尝试将其修改为此 /About%20Us

以下是我添加到全局文件的路线:

        routes.MapRoute(
            "Pages", // Route name
            "{controller}/{action}/{PageName}", // URL with parameters
            new { controller = "Home", action = "GetPages", PageName = UrlParameter.Optional } // Parameter defaults
        );

任何帮助,将不胜感激。

4

2 回答 2

1

你很亲近;您需要做的就是删除默认条目PageName并更改 URL 模板以删除控制器和操作标识符。

routes.MapRoute(
    "Pages", // Route name
    "{PageName}", // URL with parameters
    new { controller = "Home", action = "GetPages" } // Parameter defaults
);

此外,请确保在您的其他路由之后映射此路由,否则它将阻止它们工作(因为除了根目录之外的几乎任何 URL 都会触发此路由)。

于 2012-10-27T00:55:40.510 回答
0

我实际上颠倒了路线并且奏效了。大多数页面在根目录上都是动态的,所以这应该可以正常工作。感谢您的帮助...

于 2012-10-27T01:08:16.703 回答