在 Asp.Net Mvc 4 站点中,可能存在应向最终用户显示错误消息的各种错误(例如“找不到 ID 为 xxx 的行。”、“无法删除此行,因为它的 xxx 依赖于它。 “, ... ETC)。
如何(以及最好的方法)定义一个通用错误页面接受错误消息并显示它?或者可能只是一个弹出对话框?
在 Asp.Net Mvc 4 站点中,可能存在应向最终用户显示错误消息的各种错误(例如“找不到 ID 为 xxx 的行。”、“无法删除此行,因为它的 xxx 依赖于它。 “, ... ETC)。
如何(以及最好的方法)定义一个通用错误页面接受错误消息并显示它?或者可能只是一个弹出对话框?
您可以创建 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.
}
在 Controller 中创建一个 ErrorAction。
您可以捕获错误并使用消息重定向到 ErrorAction。随心所欲地展示。
我希望你明白我的意思。
这就是我们在我之前参与的一个项目中所做的。我们的页面中有一个 div 标签,我们将在其中显示所有成功和失败消息。它的工作方式如下:
我希望我已经回答了你的问题。
我建议创建一个局部视图和一个简单的错误模型。视图将在布局中呈现。错误模型可能会作为 TempData 过去,因为它在第一次读取后被删除。在视图中,如果您有变量,则在 TempData 中-您显示具有必要布局的元素,否则-您不显示任何内容。同样,您可能在 TempData 上有一个扩展方法来添加错误。