Asp.net mvc 如何在ASP.NET MVC中显示/About而不是/Home/About url

Asp.net mvc 如何在ASP.NET MVC中显示/About而不是/Home/About url,asp.net-mvc,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc Routing,当然,这样做是否可能不改变基础架构,因为它只是显示一个url 事实上,当用户键入/Home/About时,我仍然希望/Home/About是有效的,但却显示为/About。我为iis7使用了url重写包2.0,它工作得非常好。 我为iis7使用了url重写包2.0,它运行得非常好。 您可以向global.asax添加新路线 编辑:Fretje给了你C版本。我将为您提供VB版本: routes.MapRoute( "AboutRoute", "About", New Wit

当然,这样做是否可能不改变基础架构,因为它只是显示一个url


事实上,当用户键入/Home/About时,我仍然希望/Home/About是有效的,但却显示为/About。

我为iis7使用了url重写包2.0,它工作得非常好。

我为iis7使用了url重写包2.0,它运行得非常好。

您可以向global.asax添加新路线

编辑:Fretje给了你C版本。我将为您提供VB版本:

routes.MapRoute(
    "AboutRoute",
    "About",
    New With {.controller = "Home", .action = "About"}
)

您可以向global.asax添加新路由

编辑:Fretje给了你C版本。我将为您提供VB版本:

routes.MapRoute(
    "AboutRoute",
    "About",
    New With {.controller = "Home", .action = "About"}
)

是的,只需在global.asax.cs文件中的
应用程序\u Start
(尤其是
RegisterRoutes(RouteCollection routes)
)方法中将新路由映射到它:

routes.MapRoute(
    "About", // Route name
    "About", // Url with parameters (no parameters in this case)
    new { controller = "Home", action = "About" } // Parameter defaults
);

是的,只需在global.asax.cs文件中的
应用程序\u Start
(尤其是
RegisterRoutes(RouteCollection routes)
)方法中将新路由映射到它:

routes.MapRoute(
    "About", // Route name
    "About", // Url with parameters (no parameters in this case)
    new { controller = "Home", action = "About" } // Parameter defaults
);

我不熟悉这种简单情况下的语法是什么(我想很简单)谢谢?你想要一个例子,VB还是C?C?谢谢,所以我不知道该给谁一个正确的答案。。。但既然这不在我的问题中,我就按照你首先回答的那样给你:)我不熟悉这个简单的例子的语法(我想它很简单)谢谢?你想要一个例子,VB还是C?C?谢谢,所以我不知道应该给谁正确的答案。。。但由于这不在我的问题中,我将按照您首先回答的内容告诉您:)他正在使用MVC,因此可以轻松定义路由。不需要外部工具。谢谢,但我认为下面的解决方案更具动态性,给了我更多的控制。他使用MVC,因此可以轻松定义路由。不需要外部工具。谢谢,但我认为下面的解决方案更具动态性,并给我更多的控制。