8
votes

Quelle est la meilleure pratique pour retourner une erreur dans ASP.NET MVC

Ceci est ma méthode d'action xxx

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.


2 commentaires

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/...


4 Réponses :


6
votes

Jetez une erreur 500 : xxx

puis gérer 500 erreurs dans votre web.config.

http://benfoster.io/blog/aspnet-mvc-custom-error-pages


0 commentaires

1
votes

Je créerais une vue d'erreur, puis faire quelque chose comme ça si vous vous attendez à une erreur: xxx

sur votre vue d'erreur, vérifiez simplement si Viewbag.Error est présent. (La vue Erreur devrait être dans des vues partagées).

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.


0 commentaires

-1
votes
@if (TempData["Error"] != null)
{
    <div class="error">
    @TempData["Error"].ToString
    </div>
}

2 commentaires

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



1
votes

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");
    }
}


0 commentaires