Dr. MAF
Dr. MAF

Reputation: 1985

RedirectToAction in MVC3 returns "No route in the route table matches the supplied values"

I use this log in controller :

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

        return View();

    }

This RedirectToAction returns this exception: No route in the route table matches the supplied values. In my Globa.asax I have this values which I think it may solve the problem but I don't know how

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
        );

    }

I googled searched the web I found many suggestions, but nothing works. Is there any solution for this??

Upvotes: 0

Views: 3588

Answers (1)

wuhcwdc
wuhcwdc

Reputation: 286

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
    );
}

If you pay attention to the above code you were missing the default route without parameters.

Upvotes: 1

Related Questions