2009-02-02 73 views
0

我正在研究一个ASP.NET MVC应用程序,只是进行错误处理。帮助我解决将错误消息返回给用户的问题。如何处理asp.net中的异常?

我有一个控制器:

[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()方法的问题。我正在记录错误,但是如何将错误消息返回给控制器,然后返回到视图。

谢谢。

回答

3

最简单的方法是: -

1)在ASP.NET MVC版本Canditate 1(从asp.net/mvc下载)使用在模型验证的构建。

2)重新抛出异常并将其捕获到控制器动作中,然后将不错的自定义错误消息传递给视图以呈现给用户 - 使用ViewData [“error”]或类似方法传递它。