我有一个在 MVC 5 中开发的网站,它在库存中执行搜索,网址就是这样
http://localhost:56099/search/SQUARE
此 URL 工作,它重定向到搜索控制器和索引操作与搜索查询为 SQUARE 并给出正确的结果。但是,如果我输入 2 个点作为搜索查询,它只需要我到我的根页面。网址将是这样
http://localhost:56099/search/..
这很奇怪,因为当传递单点或多点时同样的事情是有效的,所以我找不到任何技术上的原因,为什么它被忽略了。
我在 Web.Config 中做了以下事情:
-
<modules runAllManagedModulesForAllRequests="true">
也用于在搜索查询中接受其他字符。 -
relaxedUrlToFileSystemMapping="true"
但没有成功,我找不到任何真正的理由这种奇怪的行为。任何建议。
2 回答
您应该在“RouteConfig.cs”文件中注册搜索路线
您遇到
..
的问题,因为在您的情况下..
被检测为相对 URL,这表示在您的情况下向上移动到父 directory(or 根),基本上剥离了基本 URI 中的前一个斜杠的所有内容。web.config
中的 UrlRoutingHandler 应该可以帮到你。然后,每个以
/Search
开头的 URL 都将被视为 MVC URL。你也可以尝试: