2010-04-19 2 views
1

Fondamentalement ce que dit le titre. J'ai créé une nouvelle application MVC. J'essaie d'ajouter de nouvelles pages sur le site, mais chaque fois que je puis-je obtenir l'erreur suivante:Impossible d'obtenir de nouveaux contrôleurs ou vues pour fonctionner dans ASP.Net MVC

Server Error in '/' Application. 
The resource cannot be found. 
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Products 

Voici mon contrôleur, appelé ProduitsController.

namespace MyAppMVC.Controllers 
{ 
    public class ProductsController : Controller 
    { 
     public ActionResult Index() 
     { 
      return View("Index"); 
     } 
    } 
} 

J'avais aussi essayé

  return View(); 

Mais cela ne fonctionne pas.

Mon affichage s'appelle Index.aspx et se trouve dans le dossier Views/Products.

Donc tout me semble bien, j'ai regardé dans le tutoriel NerdDinners et ils ne semblent pas faire quelque chose de différent de moi non plus. J'ai regardé le contrôleur de la maison qui vient avec l'application, et le mien semble identique. Je suis sûr que je n'ai rien à ajouter au routage, mais peut-être que je le fais.

Des idées? Cela m'a fait perplexe.

Selon la demande, voici mon Global.asax.cs fichier

public class MvcApplication : System.Web.HttpApplication 
{ 
    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(); 

     RegisterRoutes(RouteTable.Routes); 
    } 
} 
+0

Pourriez-vous ajouter la méthode RegisterRoutes à partir de votre fichier Global.asax.cs? Juste pour s'assurer – Thomas

+0

Ajouté le fichier global.asax.cs selon la demande. –

Répondre

1

Le problème à la fin était que j'avais créé une page maître incorrecte qui avait du code derrière les fichiers qui causaient des problèmes. J'ai juste échoué à remarquer que MVC avait sa propre sélection pour les pages maîtres dans le dialogue Ajouter un nouveau. Oops!

Merci pour l'aide à tous.

4

Vérifiez votre routage, en utilisant Phil Haack's route tester, et assurez-vous que vos itinéraires routent correctement aux méthodes de régulation souhaitées.

+0

Je vais essayer. Merci. –

0

Il se peut que vous utilisiez IIS6 et que vous n'ayez pas activé le mappage générique. Ou vous pourriez également avoir mis en place le document par défaut à Default.aspx? Ou supprimé Default.aspx de la racine de l'application? :)

+0

La chose IIS peut être le cas. Je viens d'installer MVC et je suis parti de là. Je cours l'application par l'intermédiaire du studio visuel actuellement. J'ai vérifié et j'ai IIS7 cependant. Vous ne savez pas comment configurer le mappage de caractères génériques. Je n'ai pas supprimé le fichier par défaut, et il semble se charger correctement car les autres pages fonctionnent avec l'application (Home et About et les pages login/register). –

+0

Eh bien .. cela le rend beaucoup plus intéressant .. Dans IIS7 vous n'avez pas besoin de la cartographie générique, et si les autres contrôleurs fonctionnent bien, cela signifie que le problème est dans votre application elle-même .. Parfois, le plus étrange des problèmes avoir la plus simple des solutions .. Vous avez reconstruit la solution avant de charger la page, non?^_^ –

+0

J'avais, le problème à la fin a été causé par les pages maîtres. Peut voir ma réponse ci-dessus. Merci pour votre aide! :) –

Questions connexes