我有这样的动作:
[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{} 代码并将这个逻辑放在这个动作之外,也适用于其他动作?