首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MapRoute而不影响ActionLinks

MapRoute而不影响ActionLinks
EN

Stack Overflow用户
提问于 2012-08-11 02:29:02
回答 1查看 108关注 0票数 0

通常,我希望生成URL时使用默认路由(“向后”映射),即使我添加了备用或遗留路由以到达操作(“转发”):

代码语言:javascript
复制
routes.MapRoute("Legacy", "legacy/home/index",     // want forward-only mapping!
    new { controller = "Home", action = "Index" };
routes.MapRoute("Default", "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }

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

代码语言:javascript
复制
@ActionLink("Index", "Home")                       // generates legacy URLs ;(

在线程:Routing legacy requests with and without querystring (问题1)中,解决方案是为每个遗留路由添加两个MapRoute语句,或者在每个ActionLink调用中指定路由名称。

是否有一种方法可以定义仅用于->操作映射的路由,而不是反向映射?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 01:16:25

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11911392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档