我遇到了以下问题。可能有人也发现了这种奇怪的行为。
我的 global.asax.cs 中有以下路由定义:
routes.Add(new Route("/module/{searchTerm}", new RouteValueDictionary { {"controller", "Module"}, {"action", "Index"} }, null, new MvcRouteHandler()));
+
因此,从第一个角度来看,没什么特别的,但是当搜索词中的空格作为符号出现时,就会出现问题。
例如我们尝试打开一个链接:
http://[myserver]/module/some%20search%20term
在这种情况下,一切正常,它会将我们重定向到正确的操作,但如果链接看起来像:
http://[myserver]/module/some+search+term
我收到一条错误消息,指出没有与提供的 URL 匹配的路由。
顺便说一句,我无法在 ASP.NET 开发服务器上重现此问题。它只出现在 IIS 上。可能有人确实有这样的问题?