我一直试图在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
);
任何帮助都将不胜感激。
答案 0 :(得分:1)
你很亲密;您需要做的就是删除PageName
的默认条目,并更改URL模板以删除控制器和操作标识符。
routes.MapRoute(
"Pages", // Route name
"{PageName}", // URL with parameters
new { controller = "Home", action = "GetPages" } // Parameter defaults
);
此外,请确保此路由在之后映射到其他路由,否则会阻止它们工作(因为除root之外的任何URL都会触发此路由)。
答案 1 :(得分:0)
我实际上改变了路线并且有效。大多数页面都是动态的根,所以这应该工作正常。谢谢你的帮助...