代码之家  ›  专栏  ›  技术社区  ›  Will

NET MVC:如何用路由搜索项。(期)期末

  •  11
  • Will  · 技术社区  · 16 年前

    . (句号)。这是我正在使用的路径:

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

    . 在搜索项中,它不能以它结束。对如何路由这个搜索请求有什么想法吗?

    2 回复  |  直到 10 年前
        1
  •  24
  •   Kosau    13 年前

    我已经解决了一个类似的问题(我在/music/R.E.M.这样的路径上遇到了问题) 我已将以下行添加到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"/>
    

    我也注意到了

    <httpRuntime relaxedUrlToFileSystemMapping="true" />
    

    仅当句点(.)位于中间一对斜杠(例如/abc/d.e/f)中时有效,当句点看起来像文件类型分隔符(例如/abc/de/f.g)时无效。

        2
  •  5
  •   bkaid    14 年前

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

    <httpRuntime relaxedUrlToFileSystemMapping="true" />
    

    我已经测试过了,而且有效。 Haack 有一个解释。