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