1

我的实际示例场景是:

我有一个控制器,其动作名为 Create(TClass obj)。

当发生错误时,我希望触发一个专门的异常(MyException),但我不想重定向到另一个页面(通用页面错误处理程序或其他)。我想留在同一页面并在 jQueryUI 对话框弹出窗口中显示消息错误。

我试过这些选项:

  • 覆盖方法 OnException(在控制器中)
  • 经过测试的 PostSharp(专门针对 OnExceptAspect)
  • 测试了此链接中的解决方案和其他类似的解决方案。

你有什么想法吗?

谢谢。

4

1 回答 1

1

在所有控制器方法中的整个应用程序中,调用:

catch(Exception e)
{
    errorModel errorModelInstance = new errorModel();
    errorModel.message = e.Message;
    errorModel.stack = e.StackTrace;  //You get the idea...
    return PartialView("someErrorView", errorModelinstance);
}

然后,有一个 someErrorView.cshtml 文件,其中包含用于模态弹出窗口的 jQueryUI 脚本引用(除非您的主布局已经在整个应用程序中引用它),并在该部分视图中具有用于模态弹出窗口的初始化程序。(让我知道您是否需要用于初始化弹出窗口的前端代码)。

此局部视图将返回模型“errorModel”。您必须在模型文件夹下定义一个类来声明 errorModel 的字符串属性。

于 2012-09-05T22:44:32.183 回答