Asp.net mvc 3 在MVC中可以有动态动作吗

Asp.net mvc 3 在MVC中可以有动态动作吗,asp.net-mvc-3,routes,Asp.net Mvc 3,Routes,我正在尝试使用MVC构建一个文件共享网站。其中一个很好的特性是短URL,通常采用以下格式: http://site.com/Rtravf2 http://site.com/XddsvgF http://site.com/AaraEwq URL末尾的“操作”实际上是用于下载文件的ID。此格式的URL都可以映射到主控制器中的相同操作方法,称为下载 这是我的路线表中唯一的路线 routes.MapRoute( "Default", // Route name "{action}/{i

我正在尝试使用MVC构建一个文件共享网站。其中一个很好的特性是短URL,通常采用以下格式:

http://site.com/Rtravf2
http://site.com/XddsvgF
http://site.com/AaraEwq
URL末尾的“操作”实际上是用于下载文件的ID。此格式的URL都可以映射到主控制器中的相同操作方法,称为下载

这是我的路线表中唯一的路线

routes.MapRoute(
    "Default", // Route name
    "{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我应该构造什么样的路由,以便将这些URL映射到主控制器上的下载操作

目前得到了一堆404(当然!)


谢谢你的指点。

可能重复的bobrock,虽然可能是重复的,但只给出了一个非常规的答案来回答这个问题,所以我觉得这个问题是有效的
routes.MapRoute(null, // Route name
    "{id}", // URL with parameters
    new { controller = "Home", action = "Download" }
);

routes.MapRoute(null, // Route name
    "Index/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);