Как установить контроллер по умолчанию в asp.net MVC 4 и MVC 5
Как установить контроллер по умолчанию для моего проекта ASP.NET MVC 4, не сделав его HomeController?
Как мне настроить стандартную область при запуске приложения?
Ответы
Ответ 1
лучший способ - изменить маршрут. Маршрут по умолчанию (определенный в вашем App_Start) устанавливает /Home/Index
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
в качестве целевой страницы по умолчанию. Вы можете изменить это как любой маршрут, который вы хотите.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Sales", action = "ProjectionReport",
id = UrlParameter.Optional }
);
Ответ 2
Я не ответил на этот вопрос:
Как мне настроить стандартную область при запуске приложения?
Итак, вот как вы можете настроить область по умолчанию:
var route = routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
).DataTokens = new RouteValueDictionary(new { area = "MyArea" });
Ответ 3
Установите код ниже RouteConfig.cs в папке App_Start
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional });
}
ЕСЛИ все еще не работает, выполните ниже шаги
Второй способ:
Вы просто следуете ниже,
1) Щелкните правой кнопкой мыши на своем проектном решении
2) Выберите Свойство
3) Выберите веб-вариант, а затем выберите конкретную страницу (контроллер/просмотр), а затем установите страницу входа в систему
Здесь Account - мой контроллер, а Login - мой метод действий (сохранен в контроллере учетных записей)
Пожалуйста, посмотрите прилагаемый
снимок экрана.
Ответ 4
Если у вас есть только один контроллер и вы хотите получить доступ к каждому действию в корневом каталоге, вы можете пропустить имя контроллера, например,
routes.MapRoute(
"Default",
"{action}/{id}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);