我有一个大约有9个控制器的大项目.现在在项目结束时,网址重新发布变化.如何最好地处理这种情况 – 重命名控制器似乎太麻烦了……我需要更改servercode和
javascript中的所有链接
@H_301_2@
解决方法
您可以通过更改现有路线来解决问题.在你的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",id = UrlParameter.Optional } // Parameter defaults );
将请求路由到/ SomeChangedURLBase …由Controller处理.
请注意,应在默认路由之前注册这些路由,以避免视图中生成的链接指向默认路由并生成旧URL.
@H_301_2@ @H_301_2@