sourcecode

ASP.NET에서 기본 페이지를 설정하는 방법은 무엇입니까?

copyscript 2023. 7. 8. 11:07
반응형

ASP.NET에서 기본 페이지를 설정하는 방법은 무엇입니까?

기본 페이지를 설정할 수 있는 섹션이나 코드가 있습니까?web.config?

예를 들어, 사람들이 내 웹사이트를 처음 방문할 때, 나는 그들이 보기를 원합니다.CreateThing.aspx보다는Default.aspx.

이미 알고 있는 솔루션:

  1. 이 코드 행을 입력합니다 =>Response.Redirect("CreateThings.aspx")Default.aspx Page_Load이벤트 하지만 이 방법은 정말 순진합니다.

  2. IIS(기본 페이지 구성)를 사용할 수 있지만 ASP.NET 응용 프로그램에서 동일한 작업을 다시 수행하려고 합니다.

  3. 이는 현재로서는 또 다른 해결책이 될 수 있습니다.

    <defaultDocument>
        <files>
            <clear />
            <add value="Default.aspx" />
            <add value="Default.htm" />
            <add value="Default.asp" />
            <add value="index.htm" />
            <add value="index.html" />
            <add value="iisstart.htm" />
        </files>
    </defaultDocument>
    

IIS 7 또는 IIS 7.5를 사용하는 경우

<system.webServer>
    <defaultDocument>
        <files>
            <clear />
            <add value="CreateThing.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

https://learn.microsoft.com/en-us/iis/configuration/system.webServer/defaultDocument/

팁 #84: 알고 계셨습니까?Visual Web Developer에서 웹 사이트의 시작 페이지를 설정하는 방법은 무엇입니까?

시작 페이지로 사용할 페이지를 마우스 오른쪽 단추로 클릭하고 "시작 페이지로 설정"이라고 말하면 됩니다.

Adam Tuliper - MSFT의 아래 설명에서 언급한 바와 같이, 이것은 배포가 아닌 디버깅에만 작동합니다.

default.aspx를 HttpHandler 경로로 매핑하고 HttpHandler 내에서 CreateThings.aspx로 리디렉션합니다.

<add verb="GET" path="default.aspx" type="RedirectHandler"/>

Default.aspx가 응용 프로그램 루트에 물리적으로 존재하지 않는지 확인합니다.HttpHandler가 물리적으로 존재하는 경우 HttpHandler를 실행할 수 없습니다.실제 파일은 HttpHandler 매핑을 재정의합니다.

또한 default.aspx 이외의 페이지에 대해서도 다시 사용할 수 있습니다.

<add verb="GET" path="index.aspx" type="RedirectHandler"/>

//RedirectHandler.cs 의 App_Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for RedirectHandler
/// </summary>
public class RedirectHandler : IHttpHandler
{
    public RedirectHandler()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    #region IHttpHandler Members

    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        context.Response.Redirect("CreateThings.aspx");
        context.Response.End();
    }

    #endregion
}

양식 인증을 사용하는 경우 아래 코드를 사용할 수 있습니다.

<authentication mode="Forms">
<forms name=".FORM" loginUrl="Login.aspx" defaultUrl="CreateThings.aspx" protection="All" timeout="30" path="/"> 
</forms>
</authentication>

웹 사이트에서 로그인 페이지를 사용하는 경우 web.config 파일로 이동합니다.

<authentication mode="Forms">
  <forms loginUrl="login.aspx" defaultUrl="index.aspx"  >
    </forms>
</authentication>

인증 태그를 위로 바꿉니다(여기서 index.aspx가 시작 페이지가 됩니다).

그리고 한 가지 더 이것을 안에 있는 당신의 web.config 파일에 적습니다.

<configuration>
   <system.webServer>
   <defaultDocument>
    <files>
     <clear />
     <add value="index.aspx" />
    </files>
  </defaultDocument>
  </system.webServer>

  <location path="index.aspx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
   </system.web>
  </location>
</configuration>

web.config를 사용하여 IIS 기본 문서 설정을 재정의할 수 있습니다.

<system.webServer>
    <defaultDocument>
      <files>
        <clear />
        <add value="DefaultPageToBeSet.aspx" />
      </files>
    </defaultDocument>
  </system.webServer>

또는 IIS를 사용하여 링크를 참조하십시오. http://www.iis.net/configreference/system.webserver/defaultdocument

위의 모든 해결책을 다 해봤지만 효과가 없었습니다.

제 기본 페이지는 aspx 페이지가 아니라 html 페이지였습니다.

이 기사는 그 문제를 해결했습니다.https://weblog.west-wind.com/posts/2013/aug/15/iis-default-documents-vs-aspnet-mvc-routes

기본적으로 \App_Start\RouteConfig.cs 파일에서 다음 행을 추가해야 했습니다.

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.IgnoreRoute("");   // This was the line I had to add here!

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

이것이 누군가에게 도움이 되기를 바랍니다. 답을 찾는 데 상당한 시간이 걸렸습니다.

다음 방법을 사용하는 것을 선호합니다.

system.webServer>
  <defaultDocument>
    <files>
      <clear />
      <add value="CreateThing.aspx" />
    </files>
  </defaultDocument>
</system.webServer>

언급URL : https://stackoverflow.com/questions/1913058/how-to-set-the-default-page-in-asp-net

반응형