Домашняя страница - не более чем произвольная Action
в определенном Controller
, который возвращает определенное View
Чтобы установить страницу по умолчанию "Домашняя страница" или, лучше сказать, страницу по умолчанию, необходимо изменить информацию о маршрутизации в файле Global.asax.cs
:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
AreaRegistration.RegisterAllAreas();
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "NotHome", action = "NotIndex", id = "" } // Parameter defaults
);
Обратите внимание на определение маршрута:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "NotHome", action = "NotIndex", id = "" } // Parameter defaults
);
Этот маршрут является «универсальным», то есть он принимает любой URL-адрес и разбивает его на определенный контроллер, действие и идентификатор. Если ни один или один из маршрутов не определены, будут использоваться значения по умолчанию:
new { controller = "NotHome", action = "NotIndex", id = "" }
Это говорит: «Если кто-то посещает мое приложение, но не указал контроллер или действие, я собираюсь перенаправить их на действие NotIndex
моего NotHome
контроллера». Я специально добавил «Не», чтобы проиллюстрировать, что соглашения об именах «Default.aspx», «Index.html» не применяются к маршрутам MVC.