在ASP.NET MVC 2路由上的Area name中添加斜杠

时间:2010-08-31 02:20:33

标签: asp.net-mvc model-view-controller asp.net-mvc-2 routing asp.net-mvc-areas

目前我的ASP.NET MVC 2项目调用'API'中有一个区域,这是一个自我解释。

随着我的网络应用程序的API日趋成熟,我很快就需要在我的地址中添加版本号。即/

而不是:

http://site/API/

我需要

http://site/API/1.0/
http://site/API/1.1/
...

在ASP.NET MVC(2)中实现此目的的最佳实践是什么?

我正在尝试使用区域调用Api_1_0并将其MapRoute修改为

context.MapRoute(
    "Api_1_0_default",
    "Api/1.0/{controller}/{action}/{id}",
    new { action = "Index", id = UrlParameter.Optional }
);

但显然URL中的额外斜杠会导致运行时错误。

1 个答案:

答案 0 :(得分:2)

我刚刚尝试了你的确切场景,它似乎与斜杠

一样正常
            context.MapRoute(
                "Api_1_0_default",
                "Api/1.0/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );

alt text