返回路径作为MVC路由参数

时间:2013-11-19 21:26:58

标签: asp.net-mvc asp.net-mvc-routing

当我有这样的网址时:

http://localhost/dir1/dir2/file1.txt

我希望路径/dir1/dir2/file1.txt作为参数传递给我的控制器操作。

更改我的默认路线不起作用:

routes.MapRoute(
            name: "Default",
            url: "{id}",
            defaults: new { controller = "FileSystem", action = "Details", id = UrlParameter.Optional }
        );

显然,路径中的斜杠会导致问题,但我无法对它们进行URL编码。有没有办法告诉路由引擎使用斜杠抓取整个路径并将其作为id传递给我的FileSystem控制器的Details操作?

1 个答案:

答案 0 :(得分:0)

routes.MapRoute(
            name: "Default",
            url: "{*id}",
            defaults: new { controller = "FileSystem", action = "Details", id = UrlParameter.Optional }
        );