Asp.net mvc 不影响ActionLink的MapRoute

Asp.net mvc 不影响ActionLink的MapRoute,asp.net-mvc,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc Routing,通常,我希望在生成URL时使用默认路由(“向后”映射),即使我已经添加了备用路由或传统路由以达到操作(“向前”): 在这种情况下,我仍然希望在呼叫时使用默认路由: @ActionLink("Index", "Home") // generates legacy URLs ;( 在线程:(问题1)中,解决方案是为每个遗留路由添加两个MapRoute语句,或者在每个ActionLink调用中指定路由名称 有没有一种方法可以定义只用于URL->Action

通常,我希望在生成URL时使用默认路由(“向后”映射),即使我已经添加了备用路由或传统路由以达到操作(“向前”):

在这种情况下,我仍然希望在呼叫时使用默认路由:

@ActionLink("Index", "Home")                       // generates legacy URLs ;(
在线程:(问题1)中,解决方案是为每个遗留路由添加两个MapRoute语句,或者在每个ActionLink调用中指定路由名称


有没有一种方法可以定义只用于URL->Action映射的路由,而不是相反的路由?

我找不到一种方法让路由语句只应用一种方式,所以我安装了IIS URL重写模块。这可以透明地重写URL,或者在旧URL的情况下对其进行301重定向


无论如何,这是一个比编辑global.asax更易于维护的解决方案。

对于这个问题,服务器端重定向(不会弄乱代码)可能是一个好办法:)
@ActionLink("Index", "Home")                       // generates legacy URLs ;(