2010-07-19 101 views
1

我在VS2010中创建一个新的MVC应用程序开箱。在主控制器我已经疗法如下:错误处理不工作的ASP.NET 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> 

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

谢谢

+1

在黄色屏幕上发布错误消息 – amurra 2010-07-19 19:04:47

回答

1

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

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

+0

我看不到有关该链接错误处理的任何信息 - 尽管这是一个很好的资源。我有IIS 7.0 – user375564 2010-07-19 19:05:42

+0

糟糕!错误的答案。您可以试试这个http://stackoverflow.com/questions/619895/how-can-i-properly-handle-404s-in-asp-net-mvc/2577095#2577095 – 2010-07-19 19:38:29

+0

感谢伟大的链接。我只是创建一个新的mvc项目,并在家庭控制器的索引操作中抛出一个错误,并且它工作正常。我不明白为什么它第一次没有工作,我永远不会。尽管如此,我仍然得到了调试器的支持。我需要采取什么模式来阻止这种情况的发生?以及我如何把它放在这种模式? – user375564 2010-07-19 19:45:15

1

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

在你的web.config中,你试图重定向到一个物理的aspx页面。您的操作中的HandleError属性将尝试在您的特定视图文件夹中首先查找名为Error的视图,然后移至共享视图文件夹。只要选择一个或另一个,你应该没问题。