Como você define a página de inicialização para depuração em um aplicativo ASP.NET MVC?

Respostas:

218

Vá para as propriedades do seu projeto e defina a propriedade da página inicial.

  1. Vá para Propriedades do projeto
  2. Vá para a guia Web
  3. Selecione o botão de opção Página específica
  4. Digite o URL desejado na caixa de texto Página específica
Mark Seemann
fonte
1
@ Mark - aqui está um bom link que descreve o processo em mais detalhes - stephenwalther.com/blog/archive/2008/07/10/… . Eu colocaria isso na sua resposta.
21410 RichardOD
22
+1 Certifique-se de digitá-lo na etapa 4. Selecionar com o botão [...] criará um URL falso: D
P.Brian.Mackey
10
Se você está apenas testando e trabalhando com o modelo de projeto MVC padrão no VS.NET 2010, limpe qualquer valor da página inicial e depure seu projeto. Isso levará você ao principal "Bem-vindo ao ASP.NET MVC!" página.
atconway
3
Além das etapas acima, você também precisa ter certeza de que selecionou corretamente o PROJECT de inicialização (não é suficiente configurar a página padrão se você tiver vários projetos). Clique com o botão direito do mouse no projeto no Solution Explorer e defina-o como o projeto de inicialização. O nome do projeto ficará em negrito na árvore Solução.
217 Jazimov
3
@ Marque na etapa 4, você pode deixar a caixa de texto em branco e verificar se o botão de opção Página Específica está selecionado e ele iniciará a depuração na raiz do aplicativo.
amraby
22

Embora você possa ter uma página padrão no projeto MVC, a implementação mais convencional para uma exibição padrão seria usar um controlador padrão, implementado no global.asax, através do método 'RegisterRoutes (...)'. Por exemplo, se você quisesse que seu controlador Public \ Home fosse sua rota / exibição padrão, o código seria:

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

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Public", action = "Home", id = UrlParameter.Optional } // Parameter defaults
        );

    }

Para que isso funcione, é necessário que você tenha uma Página inicial definida no projeto.

1c1cle
fonte
Uau ... Isso realmente funcionar mesmo depois de publicar em um servidor (que não é o caso de resposta aceita, pelo menos, não para mim) assim que esta é a resposta bem real
Antoine Pelletier
10

Isso funciona para mim em Página específica para MVC:

/Home/Index

Atualização: Atualmente, eu apenas uso uma barra na caixa de texto "Página específica" e ela me leva à página inicial, conforme definido no roteamento:

/
Greg Gum
fonte
Boa resposta simples. Mas cuidado: se você inseriu algo semelhante ao URL inicial, ainda receberá a mensagem de URL inválida (mesmo que não esteja selecionada no momento). Portanto, selecione Iniciar URL, exclua o texto e, em seguida, defina a propriedade Página específica para o caminho relativo, como acima.
Andy Brown
7

Selecionar uma página específica nas propriedades do projeto não resolve o meu problema.

No MVC 4, abra App_Start / RouteConfig.cs

Por exemplo, se você deseja alterar a página de inicialização para Login :

routes.MapRoute(
        "Default", // Route name
        "",        // URL with parameters
        new { controller = "Account", action = "Login"}  // Parameter defaults
    );
cihata87
fonte
1

Se você deseja iniciar na "raiz do aplicativo" conforme você descreve, clique com o botão direito do mouse na página Default.aspx de nível superior e escolha definir como página inicial. Aperte F5 e pronto.

Se você deseja iniciar outra ação do controlador, consulte a resposta de Mark.

RichardOD
fonte
1
Isso funciona para o MVC? Para mim, ele tenta iniciar a página ASPX e não faz o roteamento.
Robaticus
1

Revisitando esta página e tenho mais informações para compartilhar com outras pessoas.

Ambiente de depuração (usando o Visual Studio)

1a) O link de Stephen Walter para definir a página de inicialização no MVC usando as propriedades do projeto é aplicável somente quando você estiver depurando seu aplicativo MVC.

1b) Clique com o botão direito do mouse na página .aspx no Gerenciador de Soluções e selecione a opção "Definir como Página Inicial".

Nota: nos dois casos acima, a configuração da página de inicialização é reconhecida apenas pelo seu Visual Studio Development Server. Não é reconhecido pelo seu servidor implantado.

Ambiente implantado

2a) Para definir a página de inicialização, assumindo que você não alterou nenhum roteamento padrão, altere o conteúdo de /Views/Home/Index.aspx para executar um "Server.Transfer" ou "Response.Redirect" para o desejado página.

2b) Altere seu roteamento padrão em global.asax.cs para a página desejada.

Existem outras opções que os leitores conhecem? Qual das alternativas acima (incluindo sua própria opção) seria sua solução preferida (e compartilhe conosco por quê)?

Syd
fonte