L'affichage d'erreur personnalisé CSHTML page dans MVC5 sur 404 / 500 / aucune exception?
J'ai été en tirant sur mes cheveux sur toute la journée. Je suis en train d'afficher uniquement un sympathique cshtml page à chaque fois qu'une exception est levée si mon UX est conforme - je ne veux pas que mes utilisateurs, même en sachant que je suis sur le .net de la pile de l'INTERFACE utilisateur, jamais.
Je suis en essais en accédant à localhost:2922/junkurl
, - si l'URL ne se résout pas, ne peut pas être trouvé, ou autrement génère une exception, je veux afficher un rendu sympathique cshtml page.
Ce que j'ai dans mon web.config:
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Views/Shared/Error.cshtml">
</customErrors>
Il en résulte la valeur par défaut jaune page d'erreur. Mais si je baisse un error.html
page à la racine et de l'utilisation de ce:
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/error.html">
</customErrors>
Il fonctionne. Le seul problème est que je ne veux pas avoir à construire de toute ma Mise en page /LoginPartial /etc tout recommencer avec droit de html, je veux rendre à l'aide de rasoir. Qu'est-ce que l'approche typique autour de cela? J'ai fait des tonnes de recherche sur ce donc toutes mes excuses si j'ai raté la réponse, je suis juste complètement à perte.
Je préfère le faire à partir de code si possible, mais je ce que je comprends, le code ne couvrira un certain niveau d'exceptions... à un certain point, il semble qu'il a à être gérés par l'intermédiaire de config. Je souhaite juste qu'il était simple de config!
OriginalL'auteur SB2055 | 2014-12-12
Vous devez vous connecter pour publier un commentaire.
Essayer avec un ErrorController et la configuration suivante dans votre site web.config
web.config
ErrorController
Raison pour laquelle je demande est parce que, idéalement, mes utilisateurs ne savent pas que je suis même sur .NET... en essayant de cacher autant de mise en œuvre/l'architecture que possible
Ajouter option redirectmode="ResponseRewrite" à la section customErrors
Si je fais cela, j'ai le générique jaune page d'erreur à nouveau, car apparemment ResponseRewrite n'aime pas MVC de routage
Ouais, mon mauvais. Jetez un oeil à ce. il y a une discussion à propos de votre question ici stackoverflow.com/questions/2971864/...
OriginalL'auteur Sam