Как мне избавиться от Home в ASP.Net MVC?
-
08-06-2019 - |
Вопрос
Я знаю, что этот сайт написан с использованием ASP.Net MVC, и я не вижу "/ Home" в URL.Это доказывает мне, что это можно сделать.Какой специальный маршрут мне нужен?
Решение
Просто измените "Home" на пустую строку.
routes.MapRoute(
"Home",
"",
new { action = Index, controller = Home }
);
Другие советы
Если вы работаете в IIS 7, вы можете просто удалить файл aspx по умолчанию, который поставляется с ASP.NET MVC (при условии, что вы работаете в Preview 3 или выше).Этот файл был необходим из-за проблемы с Cassini, которая была исправлена в .NET 3.5 SP1.Для получения более подробной информации ознакомьтесь с:
http://haacked.com/archive/2008/04/10/upcoming-changes-in-routing.aspx и http://haacked.com/archive/2008/05/12/sp1-beta-and-its-effect-on-mvc.aspx
На самом деле мне нравится, когда все методы моего домашнего контроллера находятся в корневом каталоге сайта.Вот так:/о компании, /контакт и т.д.Наверное, я слишком разборчив.Для этого я использую простое ограничение маршрута. Вот мой пост в блоге с примером кода.
Я бы добавил
routes.MapRoute("NoIndex", "{action}", new { controller = "Home", action = "Index" });
в RouteConfig.cs
Это то, что я сделал, чтобы избавиться от Дома.Он будет обрабатывать все маршруты только с одним спецификатором как Home / Action и любые с двумя как Controller / Action.Недостатком является то, что теперь контроллер должен иметь явный индекс (/Controller != /Controller/Index), но это может помочь вам или другим.
routes.MapRoute(
"Default",
"{action}",
new { controller = "Home", action = "Index" }
);
routes.MapRoute(
"Actions",
"{controller}/{action}",
new { }
);
В IIS 7 вы можете просто удалить файл aspx по умолчанию, который поставляется с ASP.NET MVC (при условии, что вы используете Preview 3 или выше).Этот файл был необходим из-за проблемы с Cassini, которая была исправлена в .NET 3.5 SP1.
Для получения более подробной информации ознакомьтесь с:
Предстоящие изменения В Маршрутизации и Бета-версия .NET 3.5 с пакетом обновления 1 и ее влияние на MVC