¿Cómo se configura la página de inicio para la depuración en una aplicación ASP.NET MVC?

Respuestas:

218

Vaya a las propiedades de su proyecto y configure la propiedad de la página de inicio.

  1. Ir a las propiedades del proyecto
  2. Ir a la pestaña Web
  3. Seleccione el botón de opción Página específica
  4. Escriba la URL deseada en el cuadro de texto Página específica
Mark Seemann
fuente
1
@ Mark- aquí hay un buen enlace que describe el proceso con más detalle- stephenwalther.com/blog/archive/2008/07/10/… . Pondría eso en tu respuesta.
RichardOD
22
+1 Asegúrese de escribirlo en el paso 4. Seleccionar con el botón [...] creará una URL falsa: D
P.Brian.Mackey
10
Si solo está probando y trabajando con la plantilla de proyecto MVC predeterminada en VS.NET 2010, simplemente borre cualquier valor para la página de inicio y luego depure su proyecto. Esto lo llevará a la página principal "¡Bienvenido a ASP.NET MVC!" página.
atconway
3
Además de los pasos anteriores, también debe asegurarse de haber seleccionado correctamente el PROYECTO de inicio (no es suficiente configurar la página predeterminada si tiene varios proyectos). Haga clic con el botón derecho en el Proyecto en el Explorador de soluciones y configúrelo como el Proyecto de inicio. El nombre del proyecto aparecerá en negrita en el árbol de soluciones.
Jazimov
3
@ Mark- en el paso 4, puede dejar el cuadro de texto en blanco y asegurarse de que esté seleccionado el botón de opción Página específica y comenzará a depurar en la raíz de la aplicación.
amraby
22

Si bien puede tener una página predeterminada en el proyecto MVC, la implementación más convencional para una vista predeterminada sería usar un controlador predeterminado, implementado en global.asax, a través del método 'RegisterRoutes (...)'. Por ejemplo, si desea que su controlador Public \ Home sea su ruta / vista predeterminada, el código sería:

    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 esto sea funcional, debe tener una página de inicio establecida en el proyecto.

1c1cle
fuente
Wow ... Esto realmente funciona INCLUSO después de publicar en un servidor (que no es el caso de la respuesta aceptada, al menos no para mí), así que esta es la buena respuesta real
Antoine Pelletier
10

Esto funciona para mí en la página específica para MVC:

/Home/Index

Actualización: Actualmente, solo uso una barra diagonal en el cuadro de texto "Página específica", y me lleva a la página de inicio como se define en la ruta:

/
Greg Gum
fuente
Buena respuesta simple. Pero tenga cuidado: si ha ingresado algo similar a la URL de inicio, seguirá recibiendo el mensaje de URL no válido (incluso si no está seleccionado actualmente). Por lo tanto, seleccione Iniciar URL, elimine el texto, ENTONCES configure la propiedad Página específica en la ruta relativa como se indicó anteriormente.
Andy Brown
7

Seleccionar una página específica de las propiedades del Proyecto no resuelve mi problema.

En MVC 4, abra App_Start / RouteConfig.cs

Por ejemplo, si desea cambiar la página de inicio a Iniciar sesión :

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

Si desea comenzar en la "raíz de la aplicación" como lo describe, haga clic derecho en la página Default.aspx de nivel superior y elija establecer como página de inicio. Presiona F5 y listo.

Si desea comenzar con una acción de controlador diferente, vea la respuesta de Mark.

RichardOD
fuente
1
¿Esto funciona para MVC? Para mí, intenta iniciar la página ASPX y no enruta.
Robaticus
1

Revisando esta página y tengo más información para compartir con otros.

Entorno de depuración (usando Visual Studio)

1a) El enlace de Stephen Walter para configurar la página de inicio en MVC utilizando las propiedades del proyecto solo es aplicable cuando está depurando su aplicación MVC.

1b) Haga clic derecho en la página .aspx en el Explorador de soluciones y seleccione "Establecer como página de inicio" se comporta igual.

Nota: en los dos casos anteriores, la configuración de la página de inicio solo es reconocida por su Visual Studio Development Server. No es reconocido por su servidor desplegado.

Entorno desplegado

2a) Para configurar la página de inicio, suponiendo que no haya cambiado ninguna de las rutas predeterminadas, cambie el contenido de /Views/Home/Index.aspx para hacer un "Server.Transfer" o un "Response.Redirect" según lo deseado página.

2b) Cambie su ruta predeterminada en su global.asax.cs a la página deseada.

¿Hay alguna otra opción que los lectores conozcan? ¿Cuál de las anteriores (incluida su propia opción) sería su solución preferida (y comparta con nosotros por qué)?

Syd
fuente