Я думаю, что это так.
Один из вариантов:
Контроллеры:
public class ProjectController : Controller
{
public ActionResult Project(string projectName)
{
return Content("Project: " + projectName);
}
}
public class RequirementsController : Controller
{
public ActionResult Requirements(string projectName)
{
return Content("Requirements: " + projectName);
}
public ActionResult Requirement(string projectName, int id)
{
return Content("Requirement: " + projectName + " - " + id);
}
}
Регистрация маршрута:
routes.MapRoute(null,
"Project/{projectName}",
new {controller = "Project", action = "Project"});
routes.MapRoute(null,
"Project/{projectName}/Requirements",
new { controller = "Requirements", action = "Requirements" });
routes.MapRoute(null,
"Project/{projectName}/Requirement/{id}",
new { controller = "Requirements", action = "Requirement" });
Идентификатор зависит от того, какие другие маршруты вы хотите.
Редактировать: кстати: эти маршруты должны быть добавлены до вашего маршрута по умолчанию (если он у вас еще есть в шаблоне приложения).