【发布时间】:2013-10-02 19:30:10
【问题描述】:
我对使用问题的“最佳实践”控制器有点困惑。
我的典型代码外观
public ActionResult Edit(int reportId,FormCollection formCollection)
{
try
{
var report = _dbContext.EmployeeReports.Find(reportId);
if (TryUpdateModel(report))
{
_employeeReportService.Update(report);
return RedirectToAction("List");
}
return View("Edit", report);
}
catch (Exception)
{
// some logging etc
return RedirectToAction("List");
}
那么,最好使用“TryUpdateModel”或仅使用“UpdateModel”或简单调用 Model.IsValid,并且在控制器中捕获异常是个好主意?
谢谢
【问题讨论】:
-
TryUpdateModel 将吞下任何异常并在出现问题时返回 false。 UpdateModel 将允许抛出异常。
标签: asp.net-mvc asp.net-mvc-3 controller