MVC 3 маршрутизация документов по умолчанию - PullRequest
0 голосов
/ 21 февраля 2012

Мне нужно убедиться, что когда люди переходят на мой домен, например.mydomain.com они получают ссылку на действие home в контроллере home, например mydomain.com/home/home.Я не могу заставить его работать, используя настройки документа по умолчанию в IIS.Я предполагаю, что это как-то связано с global.asax, но мне не удалось заставить что-либо работать.Я все еще просто получаю 404, поскольку он пытался найти представление в /

Ответы [ 3 ]

1 голос
/ 21 февраля 2012

В global.asax вам нужно установить правильный контроллер по умолчанию и действие в вашем маршруте.

routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    );

Вы бы сменили действие на «Домой» вместо «Индекс».

0 голосов
/ 21 февраля 2012

По умолчанию вы можете использовать сайт в Home / Home на основе ваших отображенных маршрутов в Global.asax.cs:

public static void RegisterRoutes(RouteCollection routes)
{
  routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new {
      controller = "Home", // default controller when none is specified
      action = "Home",     // default action when none is specified
      id = UrlParameter.Optional
    }, // Parameter defaults
    new string[]{ "Web.Controllers" } // namespace
  );                                  // (helpful when you have separate views)
}
0 голосов
/ 21 февраля 2012

Убедитесь, что у вас есть метод Home внутри вашего HomeController

Чтобы сопоставить URL-адрес по умолчанию, вам нужно отредактировать ваш Global.asax.cs и изменить Index на Home.Т.е.

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Home", id = UrlParameter.Optional } // Parameter defaults
);
...