У меня есть такие действия:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult New(Product product)
{
try
{
if(ModelState.IsValid)
{
_productService.Create(product);
TempData["success"] = "Product created successfully!";
return RedirectToAction("Edit", new { product.Id });
}
}
catch (Exception e)
{
Logger.Exception(e);
TempData["error"] = "Oops, an error occurred! Please try again in a few moments.";
}
return View(product);
}
Я хочу убрать логику обработки ошибок из методов. Однако вместо стандартного способа работы [HandleError] вместо перенаправления пользователя в другое представление в случае ошибки он возвращает мне то же представление с TempData ["error"], и уведомление появляется в верх той же страницы.
Как я могу это сделать, удалить весь этот код try {} catch {} и поместить эту логику вне этого действия, а также для других действий?