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" />