Asp.net mvc 3 MVC3中的URL重写

Asp.net mvc 3 MVC3中的URL重写,asp.net-mvc-3,url-rewriting,Asp.net Mvc 3,Url Rewriting,我正在使用MVC3为当地一所大学做一个项目。我遇到了一个要求,我被困在那里,找不到任何出路。 假设我的URL是www.abc.com 要求是,如果我们在URL后键入教师姓名,我们将获得教师的详细视图,如: www.abc.com/john www.abc.com/smith 我要求像www.abc.com/teacher=john这样的选项,但被拒绝了。 这是否与URL重写或其他方法有关,因为数据库中可能有许多教师,所以我无法在控制器中为每个教师创建方法。 有人能为我介绍一下这个场景吗? 善良的

我正在使用MVC3为当地一所大学做一个项目。我遇到了一个要求,我被困在那里,找不到任何出路。 假设我的URL是www.abc.com 要求是,如果我们在URL后键入教师姓名,我们将获得教师的详细视图,如: www.abc.com/john www.abc.com/smith 我要求像www.abc.com/teacher=john这样的选项,但被拒绝了。 这是否与URL重写或其他方法有关,因为数据库中可能有许多教师,所以我无法在控制器中为每个教师创建方法。 有人能为我介绍一下这个场景吗?
善良的问候

MVC天生就是这样做的

只需为其创建一条路线:

routes.MapRoute(
    "Teacher route",
    "/{teacher}",
    new { controller = "SomeController", action = "SomeAction" }
)

请注意,这将与任何其他/任何URL冲突,例如,/About;为了避免这种情况,您可以在此之前使用映射特定控制器的路由。

MVC本机执行此操作

只需为其创建一条路线:

routes.MapRoute(
    "Teacher route",
    "/{teacher}",
    new { controller = "SomeController", action = "SomeAction" }
)

请注意,这将与任何其他/任何URL冲突,例如,/About;为了避免这种情况,您可以在此之前使用为特定控制器映射路由。

您需要了解ASP.Net路由是如何工作的。是的,我了解它,我的朋友,我正在研究它。谢谢你,如果你有一个maproute的话,你会过得更好->www.abc.com/teachers/john/你需要学习ASP.Net路由是如何工作的。是的,我理解它,我的朋友,我正在研究它。谢谢你如果有一个maproute,你会过得更好->www.abc.com/teachers/john/非常感谢你的快速回复,听起来像是对我问题的回答,但你知道当我深入的时候会有更多的事情发生,所以到时候我会打电话给你:一定会选择你的MapDefaultController谢谢你再次感谢Hanks的快速回复,听起来像是对我问题的回答,但你们知道当我深入的时候,会有更多的事情发生,所以我会在那个时候打电话给你们:我一定会再次感谢你们