我在Asp.Net MVC 5中有一個標準的編輯動作,並且我想避免在沒有像~/food/edit
這樣的標識符的請求時發出未處理的異常,所以我這樣做了。如何保護編輯操作路徑中的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);
}
我的問題是:以這種方式處理它或者有更合適的策略是一種好的做法嗎?
我是新來的這個問問題的事情,如果我應該以另一種方式問,請讓我知道,謝謝你的時間。
那麼,這裏的問題是任何答案都將不可避免地被置之度外,這超出了Stack Overflow的範圍。相反,您可能想將問題提交給Code Review。 –
你可以創建一個動作過濾器,然後將其應用到你想要的方法。你也不需要初始化int爲0,int會自動初始化爲0.你怎麼能首先得到這種情況?你不是在創建編輯鏈接嗎?你是否擔心人們只是在輸入胡言亂語? – Fran
@ChrisPratt,我不知道有這樣的事情,我只是張貼在那裏,謝謝,因爲我說:我是新來的這個問題。 – PedroSouki