67 votes

ASP.Net MVC - Impossible de trouver la ressource

Je suis complètement nouveau pour ASP.Net MVC. Je viens de créer un MVC3 projet dans Visual Studio 2010. Le moteur d'affichage est de rasoir. Lorsque j'ai juste couru l'application, il a donné le bon résultat dans le navigateur. L'URL est http://localhost:4163/ . Puis j'ai appliqué "Définir comme Page de Démarrage" à l'Index.cshtml à l'intérieur de ~\Views\dossier d'Accueil. Puis, quand j'ai couru à la demande de l'url est devenu http://localhost:4148/Views/Home/Index.cshtml et il dit que la ressource ne peut pas être trouvé. Que dois-je faire pour y remédier? Où est l'url de la cartographie?

Mondiale.asax fichier:

using System.Web.Mvc;
using System.Web.Routing;

namespace TEST
{

public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }

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

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

    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }
    }
 }

100voto

greg84 Points 3635

Le mappage d'URL ou de "routage" est géré par Global.asax dans la racine de votre ASP.NET MVC site.

Lorsque vous cliquez sur "Définir comme Page de Démarrage", il modifie les paramètres de projet pour rechercher ce fichier par rapport à la racine de l'application. Mais dans MVC le défaut d'itinéraire à votre page d'index est en fait http://localhost:4163/Home/Index - lire quelque chose comme ceci pour avoir une idée de comment les travaux de routage.

Pour "fixer" votre projet maintenant qu'il essaye (et l'échec) de naviguer à vue, cliquez droit sur le projet et choisissez "Properties", cliquez sur le "Web" et choisissez l'onglet "Specific Page", sortir de la zone de texte vide. Maintenant, quand vous commencez à déboguer, il devrait aller à la page d'accueil - regarder la route par défaut des paramètres de voir pourquoi dans la RegisterRoutes méthode Globale.asax

27voto

Naren Chejara Points 121

Assurez-vous que vous avez créé une classe HomeController.cs dans le dossier de votre contrôleur.

4voto

Jenea Points 2702

Eh bien vous ne pouvez pas définir la valeur par défaut de la page en asp.net mvc.
Aller au mondial.asax.cs et voir la définition de routage. La route par défaut des points de méthode de l'Indice HomeController.
Je vais mieux regarder quelques-uns des courts-métrages sur asp.net mvc ou essayer de trouver nerd dîner tutoriel qui va vous permettre de vous familiariser avec le cadre assez rapidement.

Je pense que la meilleure des réponses sur les didacticiels ont été déjà fournis en guise de réponses à cette question:

ASP.NET MVC Rapide Tutoriels

3voto

user2274700 Points 38

J'avais un problème similaire il y a quelque temps lorsque j'utilisais VS 2012. Résolu en reconstruisant simplement l'application en cliquant sur Construire> Reconstruire.

2voto

Evgeny Levin Points 1970

Dans asp.net mvc, vous ne pouvez pas utiliser l'option "Définir comme page de démarrage", car les vues MVC ne sont pas indépendantes, comme les pages de formulaires Web. Ce ne sont que des fichiers modèles pour l'affichage de votre modèle. Ils n'ont pas de module de traitement http. Toutes les demandes Web doivent passer par les actions du contrôleur, vous ne pouvez pas demander des vues directement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X