【发布时间】:2016-09-16 14:41:47
【问题描述】:
我有一个将 ASP.NET MVC 和 Web API 合二为一的项目。
我必须重定向来自 /assets/x/y/z.ext 的请求 到 /content/assets/x/y/z.ext
这是我写的代码:
public class AssetsController : Controller
{
// GET: Assets
public ActionResult Redirect()
{
var url = HttpContext.Request.FilePath;
return base.Redirect("~/Content" + url);
}
}
这就是 App_Start/RouteConfig.cs 的内容
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Assets", "assets/{*url}", new { controller = "Assets", action = "Redirect" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
现在由于某种原因这不起作用。 欢迎任何帮助解决此问题。
仅供参考:
- 代码是从另一个可以运行的项目复制而来的。
- 另一个项目是纯 MVC
- 我在 Assets 控制器中放置了一个断点,但它从未被调用过。
【问题讨论】:
标签: asp.net asp.net-mvc redirect asp.net-web-api routing