【发布时间】:2011-01-06 10:22:42
【问题描述】:
我有一个 MVC.NET 应用程序,其中一条路由如下:
routes.MapRoute("member", "member/{id}/{*name}", new { controller = "member", action = "Details", id = "" }, new { id = @"\d+" });
因此,链接可能是这样的:http://domain/member/123/any_kind_of_username
这通常可以正常工作,但如果路径包含非法字符(例如双引号:http://domain/member/123/my_"user"_name),我会收到“System.ArgumentException:路径中的非法字符。”
经过大量谷歌搜索后,最好的建议似乎是确保网址不包含任何此类字符。不幸的是,在这种情况下,这是我无法控制的。
有没有办法解决这个问题?
【问题讨论】:
-
想必它们被称为非法字符,因为你不能使用它们......
-
@Mitch - 例如,双引号对 Apache 来说效果很好,所以我不明白为什么 IIS 不允许它。 @Oded - 问题是我无法控制这些网址。
标签: asp.net-mvc routing