Настройка страницы по умолчанию для конфигурации сервера ASP.NET (Visual Studio) - PullRequest
27 голосов
/ 14 июля 2009

Когда я собираю и запускаю свое приложение, я получаю список каталогов в браузере ( также происходит для подпапок ), и я должен нажать на Index.aspx. Это сводит меня с ума.

Visual Studio 2008 ASP.NET Development Server 9.0.0.0

Ответы [ 7 ]

38 голосов
/ 14 июля 2009

Щелкните правой кнопкой мыши веб-страницу, которую вы хотите использовать в качестве страницы по умолчанию, и выберите «Сделать стартовой страницей» каждый раз, когда вы запускаете веб-приложение из Visual Studio, оно открывает выбранную страницу.

20 голосов
/ 05 февраля 2010

Встроенный веб-сервер аппаратно использует Default.aspx в качестве страницы по умолчанию.

В проекте должен быть хотя бы пустой файл Default.aspx, чтобы преодолеть проблему со списком каталогов для Global.asax.

:)

Как только вы добавите этот пустой файл, все запросы могут быть обработаны в одном месте.

public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        this.Response.Write("hi@ " + this.Request.Path + "?" + this.Request.QueryString);
        this.Response.StatusCode = 200;
        this.Response.ContentType = "text/plain";

        this.Response.End();
    }
}
11 голосов
/ 14 июля 2009

Перейдите на страницу свойств проекта, выберите вкладку «Интернет» и сверху (в разделе «Начать действие») введите имя страницы в поле «Конкретная страница». В вашем случае index.aspx

8 голосов
/ 04 августа 2011

Как и в ответе zproxy выше, я использовал следующий код в Gloabal.asax.cs для достижения этого:

public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        if (Request.Url.AbsolutePath.EndsWith("/"))
        {
            Server.Transfer(Request.Url.AbsolutePath + "index.aspx");
        }
    }
}
1 голос
/ 30 ноября 2011
public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        if (Request.Url.AbsolutePath.EndsWith("/"))
        {
             Server.Transfer("~/index.aspx");
        }
    }
}
0 голосов
/ 14 января 2018

Это один метод для опубликованного решения, чтобы показать страницу SpeciFic при запуске.

Вот пример маршрута для перенаправления на определенную страницу ...

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
            namespaces: new[] { "YourSolutionName.Controllers" }
        );
    }
}

По умолчанию метод индекса Home Controllers выполняется при запуске приложения, здесь вы можете определить свой.

Примечание. Я использую Visual Studio 2013, и "YourSolutionName" необходимо изменить на имя вашего проекта.

0 голосов
/ 14 июля 2009

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

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