Ответ 1
Просто измените "Домой" на пустую строку.
routes.MapRoute(
"Home",
"",
new { action = Index, controller = Home }
);
Я знаю, что этот сайт написан с использованием ASP.Net MVC, и я не вижу "/Home" в URL-адресе. Это доказывает мне, что это можно сделать. Какой специальный маршрут и мне нужен?
Просто измените "Домой" на пустую строку.
routes.MapRoute(
"Home",
"",
new { action = Index, controller = Home }
);
Если вы работаете в IIS 7, вы можете просто удалить файл Default.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
Мне действительно нравится, что все мои домашние методы управления находятся в корне сайта. Например:/about,/contact и т.д. Я думаю, что я придирчив. Для этого я использую простое ограничение маршрута. Вот мой пост в блоге с образцом кода.
Я бы добавил
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 вы можете просто удалить файл Default.aspx, который поставляется с ASP.NET MVC (при условии, что вы работаете на Preview 3 или выше). Этот файл был необходим из-за проблемы с Cassini, которая была исправлена в .NET 3.5 SP1.
Подробнее:
Предстоящие изменения в маршрутизации и .NET 3.5 SP1 Beta и ее эффект на MVC