7

我有一个更大的项目,大约有 9 个控制器。现在在项目结束时,url requeirement 发生了变化。如何最好地处理这种情况 - 重命名控制器似乎太麻烦了......我需要更改 servercode 和 javascript 中的所有链接

4

2 回答 2

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。

于 2012-04-24T14:25:47.597 回答
1

您可以更改 global.asax 中的路由

只需更改方法 RegisterRoutes

在这里您可以找到更多信息。

http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp-net-mvc-routing-overview-cs

http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

干杯

于 2012-04-24T14:20:02.160 回答