Ich habe viele Methoden versucht, aber immer noch scheitern, es zu machen. Ich möchte nur eine 404/500 zeigen, wenn die Anfrage ungültig ist.MVC Simple Error Handle BadRequest
Eg. Es gibt keine Benutzer-ID = 100, wenn jemand diese Anfrage macht, sollte 404 zurückgegeben werden. Auf der anderen Seite, Wurf 500, wenn ein Serverfehler aufgetreten ist.
Ich möchte dieses Verhalten ganze Apps anwenden.
public ActionResult EditUser(int Id)
{
var db = new UserDbContext();
var usr = db.Users.Where(a => a.Id == Id).SingleOrDefault();
if (usr == null) return new HttpStatusCodeResult(HttpStatusCode.NotFound, "User not found");
return View(usr);
}
mit webconfig in system.web
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/General">
<error statusCode="404" redirect="~/NotFound" />
<error statusCode="403" redirect="~/BadRequest" />
</customErrors>
und in system.webServer
<httpErrors existingResponse="PassThrough"></httpErrors>
Versuchte viele Kombinations Art und Weise, kann nicht damit es funktioniert. Das Ergebnis, das ich bekomme, ist eine leere Seite, dann Browser-Konsole mit dem 404/500 Fehler. Aber ich möchte es auf der Seite zeigen.
Jemand könnte bitte meinen Fehler aufzeigen.
throw new HttpException(404, "Some description");
: Danke
prüfen verwenden, wenn es wegen der web.config http ist: // Stackoverflow. com/questions/4483849/default-redirect-for-error-404 –