Недопонимание маршрутизации MVC - PullRequest
0 голосов
/ 20 февраля 2012

Я работаю над приложением ASP.NET MVC.Почему-то каждый раз, когда я думаю, что понимаю маршрутизацию, появляется что-то, чего я не понимаю.В настоящее время у меня есть два маршрута, которые я не могу понять.Моя структура каталогов выглядит следующим образом

- Views
  - Internal
    - Profile
      - Index.cshtml
    - Input
      - Page1.cshtml

В моем файле global.asax.cs я добавил следующие сопоставления:

  routes.MapRoute(
    "UserProfileInfo",
    "{controller}/profile",
    new { controller = "Internal", action = "UserProfileInfo" }
  );


  routes.MapRoute(
    "Page1",
    "{controller}/input/page1",
    new { controller = "Internal", action = "Page1" }
  );

В MyController у меня есть следующее:

  public ActionResult UserProfileInfo()
  {
    return View("~/Views/internal/profile/Index.cshtml");
  }

  public ActionResult Page1()
  {
    return View("~/Views/internal/input/Page1.cshtml");
  }

Я хочу хранить свои действия в одном контроллере.Я думал, что у меня все настроено правильно.Но я продолжаю получать 404. Что я делаю не так?

1 Ответ

0 голосов
/ 20 февраля 2012

Удалите суффикс «Controller» из имени контроллера в ваших вызовах MapRoute, чтобы создать сопоставление с классом с именем InternalController.Суффикс контроллера добавляется платформой при поиске подходящей реализации.например:

    routes.MapRoute( 
    "UserProfileInfo", 
    "{controller}/profile", 
    new { controller = "Internal", action = "UserProfileInfo" } 
); 
...