我有一个大约有9个控制器的大项目。现在在项目结束时,网址重新发布变化。如何最好地处理这种情况 - 重命名控制器似乎太麻烦了......我需要更改servercode和javascript中的所有链接
答案 0 :(得分:6)
您可以通过更改现有路线来解决问题。在你的global.asax中,你会找到像这样的代码片段
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
将URL'/ Controller / Action / Id'映射到Controller,Action和Id。你可以提供这样的路线
routes.MapRoute(
"RefactoredRoute", // Route name
"SomeChangedURLBase/{action}/{id}", // URL with parameters
new { controller = "Controller", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
将请求路由到/ SomeChangedURLBase ...由Controller处理。
请注意,应在默认路由之前注册这些路由,以避免视图中生成的链接指向默认路由并生成旧URL。
答案 1 :(得分:1)
您可以更改global.asax
中的路由只需更改RegisterRoutes方法
即可在这里你可以找到更多的信息。
http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx
欢呼声