asp.net-mvc – 即使我设置CustomError =“On”,自定义错误页面也不会显示
|
我正在使用Visual Studio 2012和MVC 4 Framework,如果未处理异常,我希望看到共享文件夹的友好错误页面. (我知道,作为一个开发者,我需要查看错误详细信息,但我只想测试此设置)
<customErrors mode="On" /> 不幸的是,我得到了这个:
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly"/>
</system.web> </configuration>
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="mycustompage.htm"/>
</system.web> </configuration>
我想按照描述执行此操作,而不是使用向HomeController添加操作,设置路由或其他内容的解决方法. 更新(链接已更改): 有没有人知道为什么我看不到上面提到的设置的友好错误页面? 解决方法这是一步一步指导这样做,首先,首先将“customErrors”模式属性设置为“on”. (这指定启用自定义错误.) 1.来自Web.config的代码 <system.web>
<customErrors mode="On"></customErrors>
</system.web>
下面是我的控制器代码,我在控制器类上指定了HandleError属性.同样为了生成错误,我从Index操作中抛出异常. 2.来自HomeController.cs的代码 [HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
throw new Exception("Error Occured !");
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
}
正如您在下面的屏幕截图中看到的,我在Views文件夹的Shared文件夹中定义了一个Error.cshtml视图. 3.解决方案Explorer 请注意,Error.cshtml视图(如下所示)使用’System.Web.Mvc.HandleErrorInfo’模型 4.来自Error.cshtml的代码 @model System.Web.Mvc.HandleErrorInfo
@{
ViewBag.Title = "Error";
}
<h2>
Sorry,an error occurred while processing your request.
</h2>
在运行项目时,我现在获得以下输出,而不是获得黄色死亡屏幕. 取自this article 更新: 通过创建一个新项目来尝试这个,这应该并且确实有效.我怀疑您的Error.cshtml文件可能没有@model System.Web.Mvc.HandleErrorInfo的模型,或者您可能在不同的视图文件夹中有多个Error.cshtml页面. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从项目中的一个ASP.NET页面中删除主题
- asp.net-mvc-3 – MVC3重定向到ajax调用后的动作
- asp.net – 为什么加密一个web配置文件?
- asp.net-mvc – 在每个网址的末尾添加尾部斜杠?
- asp.net – aspx中__EVENTVALIDATION __VIEWSTATE的目的是什
- asp.net-mvc – 控制器和操作方法之间丢失的会话变量
- asp.net-mvc – 在ASP.net MVC 2.0中使用Url.Content
- https://github.com/hoyuhub
- asp.net – 当主机名中有下划线时,表单身份验证无法识别为在
- asp.net – 会话变量保存在哪里?
