我有一个大约9个控制器的项目。现在在项目结束时URL更改。如何处理最好的这种情况 - 重命名控制器似乎只是太麻烦......我需要改变servercode和JavaScript各个环节重命名控制器asp.net mvc
回答
你的问题可以通过改变现有路线来解决。在您的global.asax中,你会发现这样的
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
,一个URL“/控制器/动作/ ID”映射到控制器,操作和ID的代码片段。您可以提供这样的路由
routes.MapRoute(
"RefactoredRoute", // Route name
"SomeChangedURLBase/{action}/{id}", // URL with parameters
new { controller = "Controller", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
将请求路由到/ SomeChangedURLBase ...由控制器处理。
请注意,这些路由应在默认路由之前注册,以避免视图中生成的链接指向默认路由并生成旧URL。
我实现了这一点后意识到一点:在我的浏览器内,我仍然看到旧的网址,如果我经常浏览应用程序,但我的新网址被接受。任何改变这种方式 - 以便显示新的网址? – 2012-04-26 14:49:22
这可能是Route ordering/ActionLink构建中的问题。您可以使用RouteLink而不是ActionLink来生成链接。 – saintedlama 2012-04-26 14:57:00
如果您在页面上使用ActionLink,并将它们指向控制器和操作,则它将使用新URL,前提是将其放在路由集合中的旧URL之前。 – 2014-11-19 15:45:54
你可以改变路线Global.asax中
只是改变了方法的RegisterRoutes
在这里你可以找到更多的信息。
http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx
欢呼
- 1. 如何命名Asp.net Mvc控制器?
- 2. ASP.NET MVC中的重命名控制器方法
- 3. ASP.NET MVC:控制控制器/视图的命名约定?
- 4. Asp.Net MVC后控制器未被命中
- 5. ASP.NET MVC控制器生命周期
- 6. ASP.NET MVC控制器厂生命周期
- 7. ASP.NET MVC命名空间重命名
- 8. ASP.Net MVC控制器
- 9. MVC控制器在DLL命名空间
- 10. ASP.NET MVC 4覆盖控制器名称
- 11. 在ASP.NET MVC控制器方法Ambigious名
- 12. 保留的ASP.NET MVC控制器名称?
- 13. 重定向擅自控制器ASP.NET MVC
- 14. 重用ASP.NET MVC视图和控制器
- 15. ASP.NET MVC路由与控制器命名为“PropertiesController”
- 16. 为什么ASP.NET MVC重命名以数字开头的控制器?
- 17. 重命名ASP.NET MVC项目导致控制器错误的多种类型
- 18. Refector-重命名ASP.Net控件
- 19. 重命名塔架控制器
- 20. 更新重命名控制器
- 21. ASP.NET MVC 3 _Layout.cshtml控制器
- 22. Asp.net MVC继承控制器
- 23. ASP.Net MVC控制器注入
- 24. Asp.net MVC子控制器
- 25. 在ASP.NET MVC控制器
- 26. ASP.NET MVC子控制器
- 27. IoC和ASP.NET MVC控制器
- 28. ASP.NET MVC - 组合控制器?
- 29. ASP.NET MVC - 作业控制器
- 30. asp.net mvc通用控制器
你也可以看看IIS URL重写 – Chandermani 2012-04-24 14:28:45
ReSharper6是一个没有工作.. – 2012-04-24 15:48:23
另外请注意:您可以在需要在URL中指定的操作使用破折号,在C#中方法的命名规则的蔑视(花我有一段时间要学习)。请参阅:http://stackoverflow.com/questions/30310/asp-net-mvc-how-do-i-enable-dashes-in-my-urls – Faust 2012-04-24 16:50:21