扩展URL路由以对每个参数应用Url编码

时间:2010-09-20 04:03:21

标签: asp.net-mvc url-routing

我遇到的问题是我的某个字段需要在网址中显示包含特殊字符(/,\,:)。

使用UrlEncode()处理此生成操作链接的愚蠢方法。然后在控制器中使用之前使用UrlDecode。但我认为它真的很愚蠢,因为需要调整太多的地方。

所以,我的问题是有什么方法可以扩展url路由或者只编写我自己的路由来实现它?

谢谢, 麦克

1 个答案:

答案 0 :(得分:0)

您可以扩展System.Web.Routing.Route对象以创建自定义路由并覆盖GetRouteDataGetVirtualPath方法。调用它们以分别解析路由的值并从给定的路由值创建URL。但是,我不认为URL可以在URL的路径部分中包含/(%2f)的URL编码值,尽管它在查询字符串中是可以的。