Comment puis-je obtenir la fonctionnalité ci-dessous?
Mon contrôleur :
if (something == null)
{
//return the view with 404 http header
return View();
}
//return the view with 200 http header
return View();
Ecrivez
Response.StatusCode = 404;
avant de retourner la vue.
if (something == null)
{
return new HttpNotFoundResult(); // 404
}
else
{
return new HttpStatusCodeResult(HttpStatusCode.OK); // 200
}
if (something == null)
{
Response.StatusCode = (int)HttpStatusCode.NotFound;
return View();
}
//return the view with 200 http header
return View();
Vous devez définir la propriété TrySkipIisCustomErrors
de Response
comme true
.
public ActionResult NotFound()
{
Response.StatusCode = 404;
Response.TrySkipIisCustomErrors = true;
return View();
}
Je lève une exception 404 et crée un filtre d'exception personnalisé qui renvoie une page introuvable pour les erreurs 404. Le filtre intégré HandleError
ne gère pas les erreurs 404.
if (something == null)
{
throw new HttpException(404, "Not found")
}
return View();
if (something == null)
{
return HttpNotFound();
}
return View();