【问题标题】:MVC catch all route passing URLMVC 捕获所有通过 URL 的路由
【发布时间】:2014-04-19 19:56:28
【问题描述】:

我有一个相当大的 MVC 4 应用程序,它大量使用了区域,以及基本的 Home 和 Account 控制器。我需要做的是有一个 URL 模式去控制器并传递 URL 的其余部分。我几乎尝试了所有组合,但似乎没有任何效果。

我使用以下方法创建了一个名为 AutoInController 的控制器:

[AllowAnonymous]
public ActionResult Index(string url)
{
    string mes = string.Empty;
    return View();
}

我想将任何请求的 URL 传递给此方法,以 'AutoIn' 开头,并将 URL 的其余部分作为参数。这是我尝试过的路线,以及其他各种路线,包括使用约束。我最后添加了这个,在默认之后。

routes.MapRoute(
   "Autologin",
   "AutoIn/{*url}",
    new { controller = "AutoIn", action = "Index" }
    );

任何想法我做错了什么。不应该这么难。谢谢。

【问题讨论】:

  • 你需要在默认路由之前添加

标签: asp.net-mvc routes


【解决方案1】:

我几乎尝试了所有方法,但问题是我无法让它捕获所有以“AutoIn”为前缀的内容,只能捕获所有内容。

我最终更改了我的 AccountController 以在 Login 方法上处理此问题以询问 URL,然后如果它以“AutoIn”为前缀,则采取适当的措施。

感谢您的回答。当您想做一些特殊的事情时,路线可能会很棘手。

【讨论】:

    猜你喜欢
    • 2015-12-31
    • 2011-04-29
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多