我有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错误)。 我怎么解决这个问题? 感谢
答案 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" }
);