Как изменить статические html-файлы точки маршрута по умолчанию в asp.net mvc - PullRequest
2 голосов
/ 19 апреля 2009

как мы можем указать файлу по умолчанию что-то вроде index.html вместо действия по умолчанию Home / Index

Ответы [ 4 ]

1 голос
/ 19 апреля 2009

В IIS настроить документ по умолчанию, чтобы он был index.html вверху списка?

Или вы можете добавить IgnoreRoute в ваш global.asax

public static void RegisterRoutes(RouteCollection routes)
{
   routes.RouteExistingFiles = true;
   routes.IgnoreRoute("{file}.html");
   ...
1 голос
/ 17 сентября 2009

Я обнаружил, что в IIS 6, по крайней мере, при получении документа по умолчанию вмешивались, когда вы использовали подстановочный знак подстановки для маршрутизации большинства запросов в MVC.

Мое решение (только для корневого пути в моем случае) было следующим: (в global.asax)

if (Request.Path == "" || Request.Path == "/") { Response.Redirect (Request.Path + "index.htm", true); вернуть; }

Это подняло запрос и перенаправило его в правильное местоположение. Переписать путь, используя Context.RewritePath (Request.Path + "index.htm"); вместо редиректа тоже вроде бы работает. Дальнейшая ревизия, вероятно, будет состоять в том, чтобы увидеть, является ли последний символ пути '/', и если это так, проверить, существует ли соответствующий файл (thatpath / index.htm), и перенаправить, если это так ... это эффективно позволит MVS сохранить работает, обеспечивая логику, так что любые существующие папки, имеющие такой документ по умолчанию, будут его обслуживать.

0 голосов
/ 25 апреля 2014

Я добавил

        routes.IgnoreRoute("");

к моей конфигурации маршрута. Это игнорирует корневую папку, и если у вас есть файл index.html в корне, он будет поднят.

0 голосов
/ 19 апреля 2009

Вы можете изменить действие контроллера по умолчанию, добавив или изменив route в файле Global.asax.cs вашего проекта.

В шаблон включено следующее:

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

Если вы хотите указать другое действие контроллера по умолчанию, просто измените значения анонимного типа в четвертой строке кода выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...