Asp.net mvc 3 为什么mvc3中的路由映射请求不起作用?
我创建了一个简单的mvc3 razor web应用程序。 在它上面我有一个控制器和这样的动作:Asp.net mvc 3 为什么mvc3中的路由映射请求不起作用?,asp.net-mvc-3,Asp.net Mvc 3,我创建了一个简单的mvc3 razor web应用程序。 在它上面我有一个控制器和这样的动作: public class DownloadController : Controller { public ActionResult Index() { return File(@"\Files\MyFile.zip", "compress/zip"); } } 在我看来,我写了以下几点: @Html.ActionLink("Downl
public class DownloadController : Controller
{
public ActionResult Index()
{
return File(@"\Files\MyFile.zip", "compress/zip");
}
}
在我看来,我写了以下几点:
@Html.ActionLink("Downlod file","Index","Download")
及
但这次溃败不起作用
怎么了
它是我完整的全局文件内容
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute("downloadroute",
"Files/",
new { controller = "Download", action = "Index",
id =UrlParameter.Optional }
);
谢谢大家您的路由与物理文件夹
文件冲突
。您可以重命名文件夹以解决此冲突,或更改路由url(并将该路由置于默认路由之前):
并使用绝对路径而不是相对路径:
<a href="@Url.Content("~/Downloads")">download it</a>
您的路由配置是否有其他设置?@Ikaso是的,我编辑我的帖子并将所有路由放在全局文件中。这些路由按声明顺序匹配。将下载路由
置于默认
路由之前。我将下载路由置于默认路由之前,但不起作用是的更改路由配置后是否重新编译?我希望当用户单击此href链接时,它会转到下载控制器中的索引操作,但不起作用
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute("downloadroute",
"Files/",
new { controller = "Download", action = "Index",
id =UrlParameter.Optional }
);
routes.MapRoute("downloadroute",
"Downloads/",
new { controller = "Download", action = "Index" }
);
<a href="@Url.Content("~/Downloads")">download it</a>