MVC3路由问题

时间:2012-10-27 00:46:38

标签: c# .net asp.net-mvc-3 routing

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

我正在使用MVC3为我的网站创建动态页面。当我输入此URL时 /主页/ GETPAGES /关于%20US

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

但是,我正在尝试将其修改为此 /关于%20US

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

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

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

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

此外,请确保此路由在之后映射到其他路由,否则会阻止它们工作(因为除root之外的任何URL都会触发此路由)。

答案 1 :(得分:0)

我实际上改变了路线并且有效。大多数页面都是动态的根,所以这应该工作正常。谢谢你的帮助...