在mvc3中使用开箱即用的handleError,问题

时间:2011-03-15 16:51:43

标签: asp.net-mvc-3

我试图做那样的事情

首先,在visual studio 2010中创建一个新的mvc 3项目

接下来,打开Views \ Shared \ Web.config

中的自定义错误
 <system.web>
    <customErrors mode="On"/>
 ...

然后,我将Tag放入Index ActionResult,Home Controller

Public Class HomeController
    Inherits System.Web.Mvc.Controller


    <HandleError()> _
    Function Index() As ActionResult
        ViewData("Message") = "Welcome to ASP.NET MVC!"
        Throw New InvalidOperationException
        Return View()
    End Function

    Function About() As ActionResult
        Return View()
    End Function



End Class

最后运行应用程序,并始终显示黄色消息错误。我回顾了很多例子并总是表明这是正确的,但不起作用。

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

您应该在 ~/web.config文件中执行此操作,而不是~/Views/Shared/Web.config中的文件:

<system.web>
    <customErrors mode="On"/>
    ...
</system.web>

同时确保~/Views/Shared/Error.cshtml存在,因为这将是异常情况下的渲染视图。

您不再需要使用<HandleError()>属性来装饰您的控制器,因为ASP.NET MVC 3使用了全局过滤器。