如何路线/关于/ Home/About

Bri*_*ght 2 asp.net-mvc asp.net-mvc-routing

我刚刚开始使用ASP.NET MVC,它非常棒!但是,我不太了解设置路线.

我如何路线〜/关于〜/ Home/About?

/Views/Home/About.aspx

我希望能够通过/ Home/About 或just / About访问它

Ros*_*ied 7

如果你想明确地为它设置路线,你可以这样做:

routes.MapRoute( 
            "AboutRoute", 
            "About", 
            new { controller = "Home", action = "About" }  // Parameter defaults 
    );
Run Code Online (Sandbox Code Playgroud)

我想那就是你想做的事情?即由家庭控制器处理/关于?

默认路由(如下所示)处理/ Home/About

    routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
Run Code Online (Sandbox Code Playgroud)


Tom*_*han 7

回应你对RM答案的评论 - 你实际上并不需要使用通配符.做就是了

routes.MapRoute(
    "AllToHomeController",
    "{action}/{id}",
    new { controller = "Home", action = "Index", id = "" });
Run Code Online (Sandbox Code Playgroud)

但请注意,您需要将此路由放在路由表的最末端(并且您必须删除默认路由),因为这将捕获每个进入的URL.

您可以使用Phil Haack的路由调试器来验证您的路由是否按预期提取网址.