如何在asp.mvc路由中解决相同的路由模式问题?

时间:2018-05-29 17:13:18

标签: c# asp.net-mvc

我正在练习MVC路由,现在我陷入了一个我不明白如何解决的境地。我在两个控制器中有两个控制器和动作,在RouteConfig类中有两个路径。这里:

RouteConfig

    routes.MapRoute(
        name: "Students",
        url: "{Class}/{Students}",
        defaults: new { controller = "Class", action = "Students" });

        routes.MapRoute(
        name: "SubjectDetail",
        url: "{Class}/{Subject}",
        defaults: new { controller = "Subject", action = "SubjectDetail"});

现在的问题是,当我去上课/学生网址它工作正常但是在课堂/科目的情况下它再次将我重定向到班级/学生网址。我知道有一些路线模式错误。如何解决这个问题。感谢。

1 个答案:

答案 0 :(得分:1)

尝试:

routes.MapRoute(
        name: "Students",
        url: "classes/{classId}/students/{studentId}",
        defaults: new { controller = "Class", action = "Students" });

        routes.MapRoute(
        name: "SubjectDetail",
        url: "classes/{classId}/subjects/{subjectId}",
        defaults: new { controller = "Subject", action = "SubjectDetail"});