错误处理不能使用ASP .NET MVC

时间:2010-07-19 18:32:47

标签: asp.net-mvc exception error-handling

我已经在VS2010中创建了一个新的MVC应用程序。在家庭控制器中,我还有以下内容:

    [HandleError(View = "Error")]
    public ActionResult Index()
    {


        int num1 = 0;
        int num2 = 5;

        int result = num2 / num1;

        return View();

    }

这会创建一个错误并弹出调试,如果我继续黄色屏幕。我无法让它重定向到Error.aspx页面。我有这样的web.config:

 <customErrors mode="On" defaultRedirect="~/Error.aspx">
 </customErrors>

但它不会重定向到正确的错误页面,尽管它是一个全新的项目。如何配置这个工作请????

感谢

3 个答案:

答案 0 :(得分:1)

这在MVC概述教程中讨论。 IIS错误的行为取决于您的IIS版本。

Using ASP.NET MVC with Different Versions of IIS (C#)

答案 1 :(得分:1)

如果我尝试复制这个,我会被重定向到共享视图文件夹中的默认错误视图 - 看起来MVC会覆盖对web.config中对defaultRedirect属性所做的任何设置。

在您的web.config中,您尝试重定向到物理aspx页面。操作中的HandleError属性将尝试在特定视图文件夹中首先查找名为Error的视图,然后转到共享视图文件夹。只需选择其中一个就可以了。

答案 2 :(得分:0)

试试此博文:http://msnetprogrammer.net/blog/post/HandleError-attribute-%28MVC%29.aspx

此外,默认的视图名称为“错误”,因此从技术上讲,您可以拥有[HandleError]