我正在研究ASP.NET MVC应用程序,只是进行错误处理。帮助我解决将错误消息发回给用户的问题。
我有一个控制器:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Show(string callNumber)
{
ServiceCallService sc = new ServiceCallService();
return View(sc.GetServiceCallByCallNumber("", callNumber));
}
服务:
public ServiceCall GetServiceCallByCallNumber(string custID, string callNumber)
{
ServiceCall sc = new ServiceCall();
sc = _serviceCallRepository.GetServiceCallByCallNumber(custID, callNumber);
return sc;
}
存储库:
public ServiceCall GetServiceCallByCallNumber(string custID, string callNumber)
{
ServiceCall sc = new ServiceCall();
try
{
LoginToDB();
sc.CallNumber = "123";
}
catch (Exception e)
{
logger.error(Server.GetLastError());
}
finally
{
LogoutFromDB();
}
return sc;
}
假设LoginToDB()方法存在问题。我正在记录错误,但如何将错误消息返回到控制器,然后返回到视图。
感谢。
答案 0 :(得分:3)
最简单的方法是: -
1)在ASP.NET MVC Release Canditate 1中使用构建模型验证(从asp.net/mvc下载)。
2)重新抛出异常并在控制器操作中捕获它,然后将一个很好的自定义错误消息传递给View以呈现给用户 - 使用ViewData [“error”]或类似的东西传递它。