我有一个要求,我必须创建一条类似/Class/10/Student/134
的路线来获取角色ID为134,班级ID为10的学生的信息。如何在Razor页面中创建这样的路线?
我在Startup.cs中添加了以下路由
routes.MapRoute(
name: "GetStudentFromClass",
template: "Class/{classId}/Student/{studentId?}",
defaults: new
{
controller = "Class",
action = "Student"
}
);
我的页面目录结构类似于
- /Pages
- /Class
- Student.cshtml
- Student.cshtml.cs
在Student.cshtml中,我已将此@page "{classId:int}/Student/{studentId:int?}"
添加到第一行
但是它不起作用。有什么建议,我做错了什么地方?
答案 0 :(得分:0)
mapRoute
方法用于定义MVC路由。 Razor Pages路由的处理方式略有不同。您只需要定义模板作为@page
指令的一部分。在这种情况下,应为:
@page "/Class/{classid:int}/Student/{studentid:int}"
无需在启动文件中添加任何内容。