MVC3中的RedirectToAction返回“路由表中没有与提供的值匹配的路由”

本文关键字:路由 返回 RedirectToAction 中的 MVC3 | 更新日期: 2023-09-27 18:18:12

我使用这个登录控制器:

public ActionResult Index(LoginModel model)
    {
      if (model.usernam == "usernam" && model.password == "password")
            {
                    return RedirectToAction("Index", "Home");
                }
        return View();
    }

这个RedirectToAction返回这个异常:路由表中没有匹配提供值的路由。在我的Globa里。我有这个值,我认为它可以解决问题,但我不知道如何

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}/{id1}/", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional, id1= UrlParameter.Optional} // Parameter defaults
        );
    }

我用谷歌搜索了网页,我找到了很多建议,但都没用。有什么解决办法吗?

MVC3中的RedirectToAction返回“路由表中没有与提供的值匹配的路由”

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}/{id1}/", // URL with parameters
        new { controller = "Home", 
              action     = "Index", 
              id         =  UrlParameter.Optional, 
              id1        =  UrlParameter.Optional 
            } // Parameter defaults
    );
    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}", // URL with parameters
        new { controller = "Home", action = "Index" } // Parameter defaults
    );
}

如果你注意了上面的代码,你就错过了没有参数的默认路由。