【发布时间】:2012-01-03 10:28:35
【问题描述】:
我在我的 MVC3 Web 应用程序中实现了一个默认的自定义错误页面,它似乎大部分都在工作。我可以输入错误的 URL,并且我的浏览器被重定向到默认错误页面,没有任何问题。但是,当我将 HTML 标记添加到 <br> 等文本字段中时,我遇到了问题。这导致 500 错误(内部服务器错误)未重定向到我的默认错误页面。
在我的 web.config 中,我有以下标签。
<customErrors defaultRedirect="/CustomErrors/DefaultError" mode="On">
</customErrors>
我有一个名为 CustomErrors 的控制器和一个名为 DefaultError.cshtml 的视图。
public class CustomErrorsController : Controller
{
public ActionResult DefaultError()
{
return View();
}
}
当我输入错误的 URL 时,我在 CustomErrorsController 的 DefaultError 操作方法中输入了一个断点。但是,当我在登录页面等文本字段中输入<br> 时,我看到了不稳定的行为。 IE 或 Mozilla 显示默认浏览器错误页面。奇怪的是,当我从我的 web.config 中删除 customerror 属性时,我得到了一个丑陋的页面,除了被转储在它上面。所以我的自定义错误以某种方式被引用但没有完全实现。
关于处理自定义错误和在文本字段中输入 html 标签有什么想法吗?
【问题讨论】:
-
您可以在
on_exception方法中定义一个自定义操作过滤器,该过滤器将显示您的错误页面。 -
我假设 on_exception 需要进入我的 CustomErrorsController。我会试一试,让你知道我的结果。谢谢
标签: asp.net-mvc-3