0

我想要一个像这样的网址

/foo/bar/1.2.3

映射到动作

public void Get(string barValue, string version)

在一个名为 FooController 的控制器中。

我定义了以下路线

config.Routes.MapHttpRoute(
    name: "FooRoute",
    routeTemplate: "foo/{barValue}/{version}",
    defaults: new { controller = "Foo", action = "Get" }
);

适用于foo/bar/121/foo/bar/qwerty但不适用于/foo/bar/1.2/

我如何修复它以映射到字符串的第二个参数中的任何内容?

4

1 回答 1

0

asp.net 文件处理程序可能正在拦截带有点的请求,例如 /foo/bar/1.2/。您可以通过添加禁用此行为

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

到您的 web.config。

于 2013-01-26T20:54:18.023 回答