加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何使ASP.NET路由转义路由值?

发布时间:2020-12-16 00:10:46 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET MVC站点,我想要/ {controller} / {id} / {action} / {date}等路由,其中??“date”是日期/时间的mm / dd / yyyy部分. (我正在处理时间尺寸的数据,因此我需要一个ID和一个时间点来完成大多数操作) 这个的路线很简单: routes.MapRoute( "TimeD
我有一个ASP.NET MVC站点,我想要/ {controller} / {id} / {action} / {date}等路由,其中??“date”是日期/时间的mm / dd / yyyy部分. (我正在处理时间尺寸的数据,因此我需要一个ID和一个时间点来完成大多数操作)

这个的路线很简单:

routes.MapRoute(
    "TimeDimensionedRoute","{controller}/{id}/{action}/{date}",new { controller = "Iteration",action = "Index",id = String.Empty,date = String.Empty }
);

此路线正确地将“/ Foo / 100 / Edit / 01/21/2010”映射到所需的操作.更新:这是不正确的.这没有正确路由,我错了.请参阅已接受答案中链接的相关问题.

我的问题是,当我使用Html.ActionLink()生成此路由的链接时,它不会对日期进行URL编码,最终会出现无效的URL,例如“/ Foo / 100 / Edit / 01/21/2010 ”.

有没有办法让路由基础设施为我编码值?我必须手动对我传递给HTML帮助程序的数据进行URL编码似乎是错误的.

解决方法

您不能在ASP.NET MVC中的路由值中使用正斜杠.即使它是URL编码它也不会工作.

slash in url

如果使用ASP.NET 4.0,则只有一个解决方案

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读