私は多くの方法を試しましたが、まだそれを作ることができません。 リクエストが無効な場合に404/500を表示したいだけです。MVCシンプルエラーハンドルBadRequest
例: User Id = 100はありません。誰かがこのリクエストを行った場合は404を返します。一方、サーバーエラーが発生した場合は500を投げます。
この動作でアプリケーション全体を適用します。
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);
}
のsystem.webでのWebConfigと
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/General">
<error statusCode="404" redirect="~/NotFound" />
<error statusCode="403" redirect="~/BadRequest" />
</customErrors>
とsystem.webserverで
<httpErrors existingResponse="PassThrough"></httpErrors>
、多くの組み合わせの方法を試してみましたそれを動作させることはできません。 私が得た結果は空のページで、ブラウザのコンソールに404/500のエラーが表示されます。しかし私はそれをページに表示したい。
誰かが私の間違いを指摘できました。
throw new HttpException(404, "Some description");
:ありがとう
チェックを返すことができます:// stackoverflowの。 com/questions/4483849/default-redirect-for-error-404 –