Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC:如何使用路由搜索词。(期间)结束时_.net_Asp.net Mvc_Model View Controller_Routing_Period - Fatal编程技术网

ASP.NET MVC:如何使用路由搜索词。(期间)结束时

ASP.NET MVC:如何使用路由搜索词。(期间)结束时,.net,asp.net-mvc,model-view-controller,routing,period,.net,Asp.net Mvc,Model View Controller,Routing,Period,当我试图发出一个请求,其中我的搜索词以(句点)结尾时,我从.NETMVC得到了404响应。这是我正在使用的路线: routes.MapRoute( "Json", "Remote.mvc/{action}/{searchTerm}/{count}", new { controller="Remote", count=10} ); 搜索词中有一个,搜索效果很好,只是不能以它结束

当我试图发出一个请求,其中我的搜索词以
(句点)结尾时,我从.NETMVC得到了404响应。这是我正在使用的路线:

routes.MapRoute(
                "Json",
                "Remote.mvc/{action}/{searchTerm}/{count}",
                new { controller="Remote", count=10}
            );

搜索词中有一个
,搜索效果很好,只是不能以它结束。有关如何路由此搜索请求的任何想法?

如果您使用的是.NET 4.0,您可以在web.config的system.web部分设置此标志,并且允许:

<httpRuntime relaxedUrlToFileSystemMapping="true" />


我已经测试过了,效果很好。有一个解释

我解决了一个类似的问题(我在/music/R.E.M这样的路径上遇到了问题。) 我已将以下行添加到system.webServer/handlers部分(根据您的情况进行了调整):


我还注意到

<httpRuntime relaxedUrlToFileSystemMapping="true" />


只有在中间的一对斜杠(例如/ABC/D.E/F)中的某个周期(例如,ABC/D/E/F)的情况下才工作,并且在该周期看起来像一个文件类型分隔符(例如ABC/DE/F.G)时不起作用。

在我所发现的所有答案中,您的唯一答案正好满足了我的需要。谢谢。这是否是唯一的处理程序?这里有类似的问题:如Kosau所提到的,只有在中间的一对斜杠(例如/ABC/D.E/F)中的某个周期(例如,ABC/D/F/G)时,它才起作用。
<httpRuntime relaxedUrlToFileSystemMapping="true" />