1

在 Asp.Net Mvc 4 站点中,可能存在应向最终用户显示错误消息的各种错误(例如“找不到 ID 为 xxx 的行。”、“无法删除此行,因为它的 xxx 依赖于它。 “, ... ETC)。

如何(以及最好的方法)定义一个通用错误页面接受错误消息并显示它?或者可能只是一个弹出对话框?

4

4 回答 4

1

您可以创建 CustomException 并在他需要时抛出。在全局 asax 中,您必须覆盖 Application_Error

protected void Application_Error(object sender, EventArgs e)
{
            Response.Clear();
            var httpContext = ((MvcApplication)sender).Context;
            var ex = Server.GetLastError();
            // check exception and redirect to your custom error page with Title, Description and url for redirect.
}
于 2013-06-18T05:34:26.350 回答
1

在 Controller 中创建一个 ErrorAction。

您可以捕获错误并使用消息重定向到 ErrorAction。随心所欲地展示。

我希望你明白我的意思。

于 2013-06-18T05:44:07.437 回答
0

这就是我们在我之前参与的一个项目中所做的。我们的页面中有一个 div 标签,我们将在其中显示所有成功和失败消息。它的工作方式如下:

  1. 我们将通过 AJAX 从控制器获取消息到视图。
  2. 然后我们将该消息注入到 div 标签中。
  3. 我们将根据成功条件切换该 div 的 html 类。如果在这种情况下成功,我们会将整个消息显示为绿色并带有一个勾号,否则如果它是一个错误,我们将整个消息显示为红色并带有一个叉号。这两个 css 类都在我们的 site.css 中定义。

我希望我已经回答了你的问题。

于 2013-06-18T05:41:54.300 回答
0

我建议创建一个局部视图和一个简单的错误模型。视图将在布局中呈现。错误模型可能会作为 TempData 过去,因为它在第一次读取后被删除。在视图中,如果您有变量,则在 TempData 中-您显示具有必要布局的元素,否则-您不显示任何内容。同样,您可能在 TempData 上有一个扩展方法来添加错误。

于 2013-06-18T05:48:25.070 回答