В asp.net MVC для «домашней страницы» (т. Е. Маршрута, который отображается при переходе на www.foo.com) установлено значение Home / Index.
- Где хранится это значение?
- Как я могу изменить "домашнюю страницу"?
- Есть ли что-нибудь более элегантное, чем использование RedirectToRoute () в действии Index домашнего контроллера?
Я попробовал использовать grepping для Home / Index в своем проекте и не смог найти ссылку, а также ничего не увидел в IIS (6). Я посмотрел на страницу default.aspx в корне, но, похоже, это не помогло.
Спасибо
c#
asp.net-mvc
asp.net-mvc-routing
Николай Данте
источник
источник
url: "{controller}/{action}/{id}"
. Просто дайте маршрутам разные имена.ASP.NET Core
Маршрутизация настраивается в
Configure
методеStartup
класса. Чтобы установить «домашнюю страницу», просто добавьте следующее. Это приведет к тому, что пользователи будут перенаправлены на контроллер и действие, определенное в методе MapRoute, когда / если они перейдут на базовый URL-адрес вашего сайта, то есть yoursite.com будет перенаправлять пользователей на yoursite.com/foo/index:Pre-ASP.NET Core
Используйте метод RegisterRoutes, расположенный в App_Start / RouteConfig.cs (MVC 3 и 4) или Global.asax.cs (MVC 1 и 2), как показано ниже. Это приведет к тому, что пользователи будут перенаправлены на контроллер и действие, определенное в методе MapRoute, если они перейдут на базовый URL-адрес вашего сайта, то есть yoursite.com перенаправит пользователя на yoursite.com/foo/index:
источник
Шаг 1. Щелкните файл Global.asax в своем решении.
Шаг 2. Затем перейдите к определению
RouteConfig.RegisterRoutes(RouteTable.Routes);
Шаг 3. Измените имя контроллера и имя представления
источник
источник
проверьте метод RegisterRoutes в global.asax.cs - это место по умолчанию для конфигурации маршрута ...
источник
Маршрутизация атрибутов в MVC 5
До MVC 5 можно было сопоставить URL-адреса с конкретными действиями и контроллерами, вызвав
routes.MapRoute(...)
файл RouteConfig.cs. Здесь хранится URL-адрес домашней страницы (Home/Index
). Однако, если вы измените маршрут по умолчанию, как показано ниже,имейте в виду, что это повлияет на URL-адреса других действий и контроллеров. Например, если у вас был назван класс контроллера
ExampleController
и вызван метод действия внутри негоDoSomething
, то ожидаемый URL-адрес по умолчаниюExampleController/DoSomething
больше не будет работать, потому что маршрут по умолчанию был изменен.Обходной путь для этого - не связываться с маршрутом по умолчанию и создавать новые маршруты в файле RouteConfig.cs для других действий и контроллеров, подобных этому,
Теперь
DoSomething
действиеExampleController
класса будет сопоставлено с URL-адресомhey/now
. Но это может быть утомительно каждый раз, когда вы хотите определить маршруты для различных действий. Итак, в MVC 5 теперь вы можете добавлять атрибуты для сопоставления URL-адресов с такими действиями,источник
Я попробовал ответить, но у меня это не сработало. Вот что я в итоге сделал:
Создайте новый контроллер DefaultController. В действии индекса я написал перенаправление на одну строку:
В RouteConfig.cs измените controller = "Default" для маршрута.
источник
Если вы не хотите менять роутер, просто перейдите в HomeController и измените MyNewViewHere в индексе следующим образом:
источник