Удалить домашний каталог из URL с помощью ASP.NET MVC - PullRequest
0 голосов
/ 10 апреля 2019

Положение

Я создам свой URL следующим образом:

  1. Страница обзора на / (на HomeController).
  2. Страница сведений на /details/123 вместо /home/details/123, зная, что 123 всегда является числом (на HomeController).
  3. Информационная страница на /info вместо /home/info (на HomeController).
  4. Страница входа на /account/signin (на AccountController).

В моем заявлении больше нет страниц.

Попробуйте 1

Я создал два маршрута, как следовать:

routes.MapRoute(
    name: "Home",
    url: "{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

Проблема в том, что страница учетной записи выдает 404. Другие страницы работают.

Попробуйте 2

Я создал один маршрут, как показано ниже:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

Для каждого метода внутри HomeController добавлен атрибут Route с правильным URL.

Проблема теперь в том, что страницы обзора и входа в систему работают, остальные дают теперь 404.

Вопрос

Как я могу удалить домашний каталог из URL с помощью ASP.NET MVC?

1 Ответ

2 голосов
/ 10 апреля 2019

Чтобы использовать атрибуты маршрутов, вам нужно добавить

routes.MapMvcAttributeRoutes();

в файл RouteConfig.cs.

Он должен идти до вашего маршрута по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...