12 .net model-view-controller asp.net-mvc routing period
当我尝试发出我的搜索字词以.(句号)结尾的请求时,我从.Net MVC得到404响应.这是我正在使用的路线:
routes.MapRoute(
"Json",
"Remote.mvc/{action}/{searchTerm}/{count}",
new { controller="Remote", count=10}
);
Run Code Online (Sandbox Code Playgroud)
搜索.在搜索词内部搜索工作正常,它不能以它结束.有关如何路由此搜索请求的任何想法?
Kos*_*sau 23
我已经解决了类似的问题(我遇到像/ music/REM这样的路径有问题)我已经将以下行添加到system.webServer/handlers部分(根据你的情况调整):
<add name="UrlRoutingHandler" type="System.Web.Routing.UrlRoutingHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" path="Remote.mvc/*" verb="GET"/>
Run Code Online (Sandbox Code Playgroud)
我也注意到了
<httpRuntime relaxedUrlToFileSystemMapping="true" />
Run Code Online (Sandbox Code Playgroud)
仅当句点(.)位于中间斜杠对中(例如/ abc/de/f)时才起作用,并且当句点看起来像文件类型分隔符(例如/ abc/de/fg)时不起作用.
如果您使用的是.NET 4.0,则可以在web.config的system.web部分设置此标志,并允许它:
<httpRuntime relaxedUrlToFileSystemMapping="true" />
Run Code Online (Sandbox Code Playgroud)
我测试了它,它的工作原理.哈克有一个解释.