指定asp.net核心自定义路由

时间:2016-10-23 01:53:29

标签: routing asp.net-core

我想指定一个自定义路由,如:localhost:4444 / code,其中code是分配给Course的随机代码。目前,默认路由强制Controller / Action / Id路由。我想将上述内容绑定到课程/详细信息/代码,但不希望在路由中指定/课程/详细信息以使其缩短。

1 个答案:

答案 0 :(得分:0)

以下路线适合您。

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");

    routes.MapRoute(
        name: "course_code", 
        template: "{id}",
        defaults: new { controller = "Courses", action = "Details"});
});

这些路线将如下图所示:

HomeController.Index()

    localhost:4444                
    localhost:4444/home          
    localhost:4444/home/index   

CoursesController.Details("math101")

    localhost:4444/math101                 
    localhost:4444/courses/details/math101

另请参阅:https://docs.asp.net/en/latest/fundamentals/routing.html