我正在研究ASP.NET MVC应用程序,并且只是要进行错误处理。帮助我解决将错误消息返回给用户的问题。
我有一个 Controller :
[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()方法存在问题。我正在记录错误,但是如何将错误消息返回到 Controller ,然后再返回到 View 。
谢谢。
最佳答案
最简单的方法是:
1)要在ASP.NET MVC发行候选版本1(从asp.net/mvc下载)中使用内置模型验证。
2)重新抛出异常,并在 Controller Action 中捕获该异常,然后将漂亮的自定义错误消息传递给View以呈现给用户-使用ViewData [“error”]或类似的东西传递给它。