Положение
Я создам свой URL следующим образом:
- Страница обзора на
/
(на HomeController
).
- Страница сведений на
/details/123
вместо /home/details/123
, зная, что 123 всегда является числом (на HomeController
).
- Информационная страница на
/info
вместо /home/info
(на HomeController
).
- Страница входа на
/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?