137 votes

Comment obtenir l’action MVC pour retourner 404

J'ai une action qui prend une chaîne de caractères qui est utilisé pour récupérer des données. Si cette chaîne de résultats dans aucune donnée n'est renvoyée (peut-être parce qu'il a été supprimé), je veux retourner une erreur 404 et afficher une page d'erreur.

J'ai actuellement l'utilisation juste de retour d'un point de vue spécifique qui affichent un sympathique message d'erreur spécifique à cette action par le fait que l'élément n'a pas été trouvé. Cela fonctionne bien, mais l'idéal serait de retourner un code d'état 404 donc les moteurs de recherche savent que ce contenu n'existe plus, et peut supprimer des résultats de recherche.

Quelle est la meilleure façon d'aller à ce sujet?

Est-ce aussi simple que le réglage de la Réponse.StatusCode = 404?

146voto

noah1989 Points 1893
<p>Dans ASP.NET MVC 3 et ci-dessus, vous pouvez retourner un <a href="http://msdn.microsoft.com/en-us/library/system.web.mvc.httpnotfoundresult%28v=vs.98%29.aspx">HttpNotFoundResult</a> du contrôleur.</p>

107voto

Dewfy Points 11277
<p>Il y a plusieurs façons de le faire,</p> <ol> <li>Vous avez raison en commun code aspx que peut être affecté dans votre manière spécifiée</li> <li>throw new HttpException (404, « une description") ;</li> </ol>

59voto

TrueBlueAussie Points 26794
<p>Dans MVC 4 et ci-dessus, vous pouvez utiliser la fonction intégrée <code></code> méthodes d’assistance :<pre><code></code></pre><p>ou</p><pre><code></code></pre></p>

25voto

Sinan BARAN Points 129
<p><strong>Code :</strong><pre><code></code></pre><p><strong>Web.config</strong></p><pre><code></code></pre></p>

12voto

Wout Points 421
<p>J’ai utilisé ceci :<pre><code></code></pre></p>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X