私はAsp.Net MVC 5で標準の編集アクションを持っています。私は~/food/edit
のようなIDなしでリクエストを取得したときに未処理の例外をスローしないようにしたいので、これを行いました。編集アクションルートでAsp.Net MVC 5が未処理の例外をスローするのを防ぐにはどうすればいいですか?
public ActionResult Edit(int id = 0)
{
if (id == 0)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
string result = _foodAppService.GetById(id);
FoodVm food = string.IsNullOrEmpty(result)
? null
: JsonConvert.DeserializeObject<FoodVm>(result);
if (food == null)
{
return RedirectToAction("Index");
}
return View(food);
}
私の質問は次のとおりです。これをこの方法で処理するのが良い方法ですか、より適切な方法がありますか?
私は別の方法で尋ねる必要がある場合は、私に知らせてください、あなたの時間をありがとう。その優れた
public ActionResult Edit(int? id)
{
if (!id.HasValue)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
}
まあ、ここで問題となるのは、必然的に何らかの意見が喚起され、それはスタックオーバーフローの範囲外だということです。代わりにコードレビューに質問をしたいかもしれません。 –
アクションフィルタを作成し、それを目的のメソッドに適用するだけで済みます。また、intを初期化する必要はありません。intは自動的に0に初期化されます。どのようにして最初にこの状況に陥ることができますか?編集リンクを作成していませんか?ちょうど不器用なことを入力している人が心配ですか? – Fran
@ChrisPratt、私はそのようなことがあることを知らなかった、私はちょうどそこにそれを投稿、ありがとう、私が言ったように:私はこの尋ねることに新しいです。 – PedroSouki