ASP.NET MVC:如何使用 .(期)末 [英] ASP.NET MVC: How to Route Search Term with . (Period) at the end

查看:18
本文介绍了ASP.NET MVC:如何使用 .(期)末的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试发出搜索词以 .(句点)结尾的请求时,我从 .Net MVC 收到 404 响应.这是我正在使用的路线:

I get a 404 response from .Net MVC when I try to make a request where my search term ends with a . (period). This is the route that I'm using:

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

搜索在搜索词中使用 . 可以正常工作,但不能以它结尾.关于如何路由此搜索请求的任何想法?

The search works fine with a . inside the search term, it just cannot end with it. Any thoughts on how to route this search request?

推荐答案

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

I have solved a similar issue (I had trouble with paths like /music/R.E.M.) I've added the following line into the system.webServer/handlers section (adjusted for your case):

 <add name="UrlRoutingHandler" type="System.Web.Routing.UrlRoutingHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" path="Remote.mvc/*" verb="GET"/>

我也注意到了,

<httpRuntime relaxedUrlToFileSystemMapping="true" />

仅当句点 (.) 位于斜杠中间的某处(例如/abc/de/f)时才起作用,并且当句点看起来像文件类型分隔符(例如/abc/de/fg)时不起作用).

does work only if the period (.) is somewhere in the middle pair of slashes (e.g. /abc/d.e/f) and does not work when the period looks like a file type separator (e.g. /abc/de/f.g).

这篇关于ASP.NET MVC:如何使用 .(期)末的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆