Как мне избавиться от дома в ASP.Net MVC?

Я знаю, что этот сайт написан с использованием ASP.Net MVC, и я не вижу "/ Home" в URL. Это доказывает мне, что это может быть сделано. Какой особый маршрут и мне нужен?

19.08.2008 01:02:59
6 ОТВЕТОВ
РЕШЕНИЕ

Просто измените «Домой» на пустую строку.

routes.MapRoute(
    "Home",
    "",
    new { action = Index, controller = Home }
);
16
19.08.2008 01:07:34

Если вы работаете в 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- эффект-на-mvc.aspx

8
20.08.2008 22:55:03

Я на самом деле хотел бы, чтобы все мои методы контроллера дома были в корне сайта. Как это: / о, / контакт, и т. Д. Я думаю, я придирчив. Я использую простое ограничение маршрута, чтобы сделать это. Вот мой пост в блоге с примером кода.

6
3.09.2012 09:27:42

В IIS 7 вы можете просто удалить файл Default.aspx, который поставляется с ASP.NET MVC (при условии, что вы работаете в Preview 3 или новее). Этот файл был необходим из-за проблемы с Cassini, которая была исправлена ​​в .NET 3.5 SP1.

Для более подробной информации проверьте:

Предстоящие изменения в маршрутизации и .NET 3.5 SP1 Beta и их влияние на MVC

-2
22.03.2013 07:19:54

Я бы добавил

routes.MapRoute("NoIndex", "{action}", new { controller = "Home", action = "Index" });

в RouteConfig.cs

1
18.12.2014 14:23:30

Это то, что я сделал, чтобы избавиться от дома. Он будет обрабатывать все маршруты только с одним спецификатором как Home / Action, а любой с двумя - как Controller / Action. Недостатком является то, что контроллер должен иметь явный индекс (/ Controller! = / Controller / Index), но он может помочь вам или другим.

routes.MapRoute(
    "Default",
    "{action}",
    new { controller = "Home", action = "Index" }
);

routes.MapRoute(
    "Actions",
    "{controller}/{action}",
    new { }
);
0
8.02.2015 01:47:38