MVC 4 RouteConfig

时间:2014-03-23 15:36:07

标签: asp.net-mvc-4

我有MVC 4 Web项目,我在RouteConfig.cs中编写了这段代码

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "home", action = "index", id = UrlParameter.Optional }
        );

        routes.MapRoute(
            "Course",
            "{controller}/{courseId}",
            new { action = "index" }
       );

    }

我想链接 [site-root] / course / 15 但不能正常工作(HTTP 404错误)。 我怎么解决这个问题? 感谢

2 个答案:

答案 0 :(得分:1)

无需使用第二个MapRoute。 尝试在HomeController上创建一个名为Course的Action。例如:

   public ActionResult Course(string id) {
      //implementation
   }

这应该有效。

答案 1 :(得分:1)

看到“课程”是您尝试设置的资源类型,我将创建一个CourseController,例如一个Index动作并在RouteConfig中设置如下:

routes.MapRoute(
            "Course",
            "course/{courseId}",
            new { action = "Index", controller="Course" }
);