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

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.


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:

/

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

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.


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ê)?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.