2013-03-09 4 views
0

Web.configAsp.net MVC4, defaultRedirect ne fonctionne pas?

<customErrors mode="On" defaultRedirect="~/Error/HttpError"> // is not working 
    <error redirect="~/Error/NotFound" statusCode="404" /> 
    <error redirect="~/Error/HttpError" statusCode="500" /> // also it is not working 
</customErrors> 

Erreur contrôleur

public class ErrorController : Controller 
{ 
    // 
    // GET: /Error/ 

    public ActionResult HttpError() 
    { 
     return Content("HttpError was called!"); 
     //return View("Error"); 
    } 

    public ActionResult NotFound(string aspxerrorpath) 
    { 
     return View(); 
    } 

    public ActionResult Index() 
    { 
     return RedirectToAction("Index", "Home"); 
    } 
} 

Pour l'erreur 404, il appelle une action NotFound aussi bien, mais pour les autres erreurs, il n'a jamais frappé la méthode HTTPError. Je lance le code de test ci-dessus, il va directement page Error.cshtml.

Qu'est-ce que je fais mal?

Répondre

0

Avez-vous cela dans votre FilterConfigs.cs?

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    filters.Add(new HandleErrorAttribute()); 
} 

L'attribut HandleError est nécessaire pour gérer les erreurs par défaut.

+0

Oui, j'ai. mais HttpError n'est jamais appelé. –

+0

@Expertwannabe - vous faites une connexion à distance, correct? Vous ne voyez pas le gestionnaire d'erreurs lors de l'appel sur votre ordinateur local. –

+0

@ merci pour votre souci, j'ai essayé sur la machine locale mais ce n'était pas le travail. Et je pourrais résoudre cela en utilisant Application_error au lieu de CustomErrors. –

Questions connexes