MVC自定义路由问题

时间:2013-12-04 10:40:14

标签: c# asp.net-mvc

我正在使用MVC 5,并尝试在Route.Config中创建自定义路由,即Home,但是当我运行应用程序时,它会直接转到我不想要的自定义路由。默认是登录,成功应该导致Dashboard / Home(控制器/操作),但我只想使用Home(仅限Action Name)。非常感谢

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        //---In order to use only Action Title in URL--//
        routes.MapRoute(
            "Home",
            "{action}/{id}",
             new { controller = "Dashboard", action = "Home", id = UrlParameter.Optional }
            );

        //-----default routing---//
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Admin", action = "Login", id = UrlParameter.Optional }
        );
    }
}

2 个答案:

答案 0 :(得分:1)

试试这个:

   routes.MapRoute(
        "Home",
        "Home/{id}",
         new { controller = "Dashboard", action = "Home", id = UrlParameter.Optional }
        );

答案 1 :(得分:0)

如果您想在操作中导航到不同控制器的新操作,那么您必须提及如下所示。

如果您想从登录页面导航到Home,那么您真的不需要更改路线。在您成功通话的登录操作

RedirectToAction(String, String)    Redirects to the specified action using the action name and controller name.

提供

RedirectToAction("Home", "Dashboard");