我正在研究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”]或类似的东西传递给它。

10-06 12:22