ASP.NET MVC3复杂路由问题

时间:2013-08-07 16:36:32

标签: asp.net-mvc-3 routing routes

我有以下默认路由设置,它可以正常工作:

routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

以下是我成功路线的示例:“/ PositionDetail / Candidates / 2”

这一切都很好,花花公子,但我遇到的问题是我想建立一条更深入的路线。即“/ PositionDetail / Candidates / 2 / GetMoreCandidates”“/ PositionDetail / Candidates / 2 / Resume / 3”其中Resume将是我想要执行的另一个操作,3将是ID。注意:这些路线中的每一个都将加载一个新页面,而不是一些局部视图。

我如何设置这样的东西,'PositionDetail'控制器会是什么样子?

1 个答案:

答案 0 :(得分:1)

例如,对于第二项任务,可能如下:

public ActionResult Resume(int CandidateID, int ResumeID)
{

return View();
}

在路由中:

routes.MapRoute(
                "Resume", // Route name
                "{controller}/Candidates/{CandidateID}/{action}/{ResumeID}", // URL with parameters
                new { controller = "PositionDetail", action = "Resume", CandidateID = UrlParameter.Optional, ResumeID= UrlParameter.Optional } 
            );

对于第一个任务 - 相同的逻辑