Ceci est ma méthode d'action Quelle est la meilleure pratique pour renvoyer cette erreur? De manière utilisée et d'une manière que je puisse identifier cette erreur lorsqu'elle se produit. P> p>
4 Réponses :
Jetez une erreur 500 : puis gérer 500 erreurs dans votre web.config. p> http://benfoster.io/blog/aspnet-mvc-custom-error-pages p> p>
Je créerais une vue d'erreur, puis faire quelque chose comme ça si vous vous attendez à une erreur: sur votre vue d'erreur, vérifiez simplement si Remarque Je ne ferais que cela lorsque vous êtes à l'exception de cela pour arriver et que vous pouvez en informer les utilisateurs de quoi ils ont mal fait. par exemple. Modification de quelque chose, vous pouvez leur renvoyer cette vue et leur donner plus d'informations à ce qu'ils ont mal fait. P> p> Viewbag.Error Code > est présent. (La vue Erreur devrait être dans des vues partagées). P>
@if (TempData["Error"] != null) { <div class="error"> @TempData["Error"].ToString </div> }
Je n'utilisais pas Tempdata dans cet exemple, car les tempdata sont liées à la session et peuvent facilement être détruites. Pour de petits messages, éventuellement, mais si vous avez besoin de donner quelque chose d'important à l'utilisateur, un simple F5 et c'est parti. Mais je suppose que tout le monde a ses propres préférences.
Oui, tu as raison. La durée de vie des tempdata est très courte. Je veux montrer une méthode simple pour passer des informations détaillées à la même page
Gestion des erreurs globales en MVC
public class MvcApplication : System.Web.HttpApplication { protected void Application_Error(object sender, EventArgs e) { Exception exception = Server.GetLastError(); Server.ClearError(); Response.Redirect("/Home/Error"); } }
Je créerais une page d'erreur et j'appelle RedirectToaction ("Myerror", "ErrorController"). Je suis sûr que quelqu'un donnera une réponse très en profondeur cependant.
Dupliquer possible: Stackoverflow.com/questions/10732644/...