Comment définissez-vous la page de démarrage pour le débogage dans une application ASP.NET MVC?

Comment commencez-vous à déboguer l’application à la racine de l’application? Par exemple: http: // localhost: 49742 /

Je reçois toujours une page qui n’existe pas, par exemple: http: // localhost: 49742 / Views / Home / About.aspx

Notez qu’il serait correct de commencer à http: // localhost: 49742 / Views / Home / About

Accédez aux propriétés de votre projet et définissez la propriété de la page de démarrage.

  1. Aller aux propriétés du projet
  2. Aller à l’onglet Web
  3. Sélectionnez le bouton radio Page spécifique
  4. Saisissez l’URL souhaitée dans la zone de texte Page spécifique

Bien que vous puissiez avoir une page par défaut dans le projet MVC, l’implémentation la plus classique pour une vue par défaut serait d’utiliser un contrôleur par défaut, implémenté dans global.asax, via la méthode ‘RegisterRoutes (…)’. Par exemple, si vous vouliez que votre contrôleur Public \ Home soit votre route / vue par défaut, le code serait:

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

Pour que cela fonctionne, vous devez avoir un ensemble de pages de démarrage dans le projet.

Cela fonctionne pour moi sous la page spécifique pour MVC:

 /Home/Index 

Mise à jour: Actuellement, je viens d’utiliser une barre oblique dans la zone de texte “Specific Page”, et cela m’amène à la page d’accueil telle que définie dans le routage:

 / 

La sélection d’une page spécifique à partir des propriétés du projet ne résout pas mon problème.

Dans MVC 4 ouvrez App_Start / RouteConfig.cs

Par exemple, si vous souhaitez modifier la page de démarrage pour vous connecter :

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

Si vous souhaitez démarrer à la “racine de l’application” comme vous le décrivez, cliquez avec le bouton droit sur la page Default.aspx de niveau supérieur et choisissez Définir comme page de démarrage. Appuyez sur F5 et vous avez terminé.

Si vous souhaitez démarrer une action de contrôleur différente, reportez-vous à la réponse de Mark.

Revisiter cette page et j’ai plus d’informations à partager avec les autres.

Environnement de débogage (à l’aide de Visual Studio)

1a) Le lien de Stephen Walter pour définir la page de démarrage de MVC à l’aide des propriétés du projet ne s’applique que lorsque vous déboguez votre application MVC.

1b) Cliquez avec le bouton droit de la souris sur la page .aspx dans l’Explorateur de solutions et sélectionnez “Définir comme page de démarrage”.

Remarque: dans les deux cas ci-dessus, le paramètre de page de démarrage est uniquement reconnu par votre serveur de développement Visual Studio. Il n’est pas reconnu par votre serveur déployé.

Environnement déployé

2a) Pour définir la page de démarrage, en supposant que vous n’avez modifié aucun des routages par défaut, modifiez le contenu de /Views/Home/Index.aspx pour effectuer un “Server.Transfer” ou un “Response.Redirect” à votre convenance. page.

2b) Modifiez votre routage par défaut dans votre fichier global.asax.cs à la page de votre choix.

Y a-t-il d’autres options que les lecteurs connaissent? Laquelle des options ci-dessus (y compris votre propre option) serait votre solution préférée (et veuillez nous dire pourquoi)?