iis7 - Como definir a página padrão no asp.net?




install asp net module iis7 (6)

Existe alguma seção ou código que nos permite definir a página padrão no web.config ?

Por exemplo, quando as pessoas acessam meu site pela primeira vez, quero que elas vejam CreateThing.aspx vez de Default.aspx .

As soluções que já conheço:

  1. Coloque esta linha de código => Response.Redirect("CreateThings.aspx") no evento Default.aspx Page_Load , mas esse método é realmente ingênuo.

  2. Podemos usar o IIS (configuração de página padrão), mas eu quero fazer a mesma coisa no meu aplicativo ASP.NET.

  3. Esta poderia ser outra solução por agora:

    <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>

Eu prefiro usar o seguinte método:

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

Eu tinha feito todas as soluções acima, mas não funcionou.

Minha página padrão não era uma página aspx, era uma página html.

Este artigo resolveu o problema. https://weblog.west-wind.com/posts/2013/aug/15/iis-default-documents-vs-aspnet-mvc-routes

Basicamente, no meu arquivo \ App_Start \ RouteConfig.cs, eu tive que adicionar uma linha:

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 }
    );
}

Espero que isso ajude alguém, levou-me um bom tempo para encontrar a resposta.



Se você estiver usando a autenticação de formulários, experimente o código abaixo:

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

se você estiver usando a página de login em seu site, vá para o arquivo web.config

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

substitua sua tag de autenticação para acima (onde index.aspx será sua página de inicialização)

e mais uma coisa escrever isso em seu arquivo web.config dentro

<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