Как настроить URL с 3 уровнями в ASP.NET MVC?

Используя ASP.NET MVC, я должен настроить свои URL как это:

www.foo.com/company: рендеринг View Company

www.foo.com/company/about: рендеринг View Company

www.foo.com/company/about/mission: представьте Миссию Представления

Если "компания" является моим контроллером, и "о" мое действие, какова должна быть "миссия"?

Для каждой "папки" (компания, об и миссия) я должен представить другое представление.

Кто-либо знает, как я могу сделать это?

Спасибо!

5
задан MCardinale 12 March 2010 в 18:46
поделиться

1 ответ

Сначала настройте представления:

Views\
  Company\
    Index.aspx
    About.aspx
    Mission.aspx
    AnotherAction.aspx

В методе GlobalAsax.RegisterRoutes (RouteCollection routes):

public static void RegisterRoutes(RouteCollection routes)
{
  // this will match urls starting with company/about, and then will call the particular
  // action (if it exists)
  routes.MapRoute("mission", "company/about/{action}",
        new { controller = "Company"});
  // the default route goes at the end...
  routes.MapRoute(
    "Default",                                              // Route name
    "{controller}/{action}/{id}",                           // URL with parameters
    new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
  );
}

В контроллере:

CompanyController
{
  public ViewResult Index() { return View(); }
  public ViewResult About() { return View(); }
  public ViewResult Mission() { return View(); }
  public ViewResult AnotherAction() { return View(); }
}
4
ответ дан 15 December 2019 в 00:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: