web-dev-qa-db-ja.com

ASP.NET(Visual Studio)サーバー構成のデフォルトページの設定

アプリケーションをビルドして実行すると、ブラウザーにディレクトリ一覧が表示されます(サブフォルダーでも発生します)。Index.aspxをクリックする必要があります。それは私を夢中にさせます。

Visual Studio 2008 ASP.NET開発サーバー9.0.0.0

27
Dan Williams

ビルトインWebサーバーは、Default.aspxをデフォルトページとして使用するように配線されています。

プロジェクトには、Default.aspxのディレクトリ一覧の問題を解決するために、少なくとも空のGlobal.asaxファイルが必要です。

:)

その空のファイルを追加すると、すべての要求を1つの場所で処理できます。

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();
    }
}
20
zproxy

デフォルトページとして使用するWebページを右クリックし、Visual StudioからWebアプリケーションを実行するたびに[開始ページとして設定]を選択すると、選択したページが開きます。

38

プロジェクトのプロパティページに移動し、[Web]タブを選択し、上部([開始アクション]セクション)で、[特定のページ]ボックスにページ名を入力します。あなたの場合index.aspx

11

上記の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");
        }
    }
}
8
public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        if (Request.Url.AbsolutePath.EndsWith("/"))
        {
             Server.Transfer("~/index.aspx");
        }
    }
}
1
Shabab

起動時にSpeciFicページを表示する公開ソリューションのこの1つの方法。

特定のページにリダイレクトするルートの例を次に示します...

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 Indexメソッドは、アプリケーションの起動時に実行されます。ここで定義できます。

注:私はVisual Studio 2013を使用していますが、「YourSolutionName」をプロジェクト名に変更します。

0
Amneu

VS webdevサーバーではなくIISに対して実行している場合、Index.aspxがデフォルトファイルの1つであり、ディレクトリの参照がオフになっていることを確認してください。

0
Garry Shutler