2010-07-19 4 views
1

J'ai créé une nouvelle application MVC dans VS2010 directement dans la boîte. Dans le contrôleur Accueil Je ther suivant:Gestion des erreurs Ne fonctionne pas ASP .NET MVC

[HandleError(View = "Error")] 
    public ActionResult Index() 
    { 


     int num1 = 0; 
     int num2 = 5; 

     int result = num2/num1; 

     return View(); 

    } 

Cela crée une erreur et un débogage pop up et si je continue un écran jaune. Je n'arrive pas à le rediriger vers la page Error.aspx. Je le web.config comme ceci:

<customErrors mode="On" defaultRedirect="~/Error.aspx"> 
</customErrors> 

, mais il ne sera pas redirigé vers la page d'erreur correcte en dépit d'être un tout nouveau projet. Comment est-ce que je configure ceci pour fonctionner svp ????

grâce

+1

Publiez ce que le message d'erreur est sur l'écran jaune – amurra

Répondre

1

Ce point est discuté dans les didacticiels aperçu MVC. Le comportement des erreurs IIS dépend de votre version d'IIS.

Using ASP.NET MVC with Different Versions of IIS (C#)

+0

Je ne vois rien à propos de la gestion des erreurs de ce lien - une bonne ressource cependant. J'ai IIS 7.0 – user375564

+0

Oups! Mauvaise réponse. Vous pouvez essayer ceci http://stackoverflow.com/questions/619895/how-can-i-properly-handle-404s-in-asp-net-mvc/2577095#2577095 –

+0

Merci beaucoup. Je viens de créer un nouveau projet mvc et ai jeté une erreur dans l'action Index du contrôleur de la maison et cela a fonctionné. Je ne comprends pas pourquoi cela n'a pas fonctionné la première fois et je ne le ferai jamais. Je reçois quand même le débogueur. De quel mode ai-je besoin pour empêcher cela de se produire? et comment puis-je le mettre dans ce mode ?? – user375564

1

Si j'essaie de reproduire ce que je redirigés à l'erreur par défaut affichage dans le dossier Vue partagée - il semble que MVC remplace tout paramètre défini pour l'attribut defaultRedirect dans le fichier web.config.

Dans votre fichier web.config, vous essayez de rediriger vers une page ASPX physique. L'attribut HandleError de votre action tente de trouver une vue nommée Erreur d'abord dans votre dossier d'affichage spécifique, puis dans le dossier d'affichage partagé. Choisissez l'un ou l'autre et ça devrait aller.

Questions connexes