【发布时间】:2016-10-23 01:53:29
【问题描述】:
我想指定一个自定义路由,如下所示:localhost:4444/code,其中 code 是分配给课程的随机代码。当前默认路由强制使用 Controller/Action/Id 路由。我想将以上内容绑定到 Courses/Details/Code,但不想在路由中指定 /Courses/Details 以使其简短。
【问题讨论】:
标签: routing asp.net-core
我想指定一个自定义路由,如下所示:localhost:4444/code,其中 code 是分配给课程的随机代码。当前默认路由强制使用 Controller/Action/Id 路由。我想将以上内容绑定到 Courses/Details/Code,但不想在路由中指定 /Courses/Details 以使其简短。
【问题讨论】:
标签: routing asp.net-core
以下路线适合您。
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
【讨论】: