MVC3中的URL重写

时间:2012-05-17 14:31:55

标签: asp.net-mvc-3 url-rewriting

我正在为使用MVC3的本地大学开展一个项目。我遇到了一个要求,我被困住了,无法找到任何出路。
假设我的网址是www.abc.com
要求是,如果我们在U​​RL后面输入教师姓名,我们会得到教师的详细视图,例如:
www.abc.com/john
www.abc.com/smith
我问了像www.abc.com/teacher=john这样的选项,但它被拒绝了 这是与URL重写或其他一些方法相关的事情,因为数据库中可能有许多教师,所以我无法在每个教师的控制器中创建方法。 任何人都可以指导我这个场景吗?
亲切的问候

1 个答案:

答案 0 :(得分:7)

MVC本身就是这样做的。

只需为它创建路线:

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

请注意,这会与任何其他/Whatever网址(例如/About)冲突;为避免这种情况,您可以使用my MapDefaultController() extension在此之前映射特定控制器的路由。