我的实际示例场景是:
我有一个控制器,其动作名为 Create(TClass obj)。
当发生错误时,我希望触发一个专门的异常(MyException),但我不想重定向到另一个页面(通用页面错误处理程序或其他)。我想留在同一页面并在 jQueryUI 对话框弹出窗口中显示消息错误。
我试过这些选项:
- 覆盖方法 OnException(在控制器中)
- 经过测试的 PostSharp(专门针对 OnExceptAspect)
- 测试了此链接中的解决方案和其他类似的解决方案。
你有什么想法吗?
谢谢。
我的实际示例场景是:
我有一个控制器,其动作名为 Create(TClass obj)。
当发生错误时,我希望触发一个专门的异常(MyException),但我不想重定向到另一个页面(通用页面错误处理程序或其他)。我想留在同一页面并在 jQueryUI 对话框弹出窗口中显示消息错误。
我试过这些选项:
你有什么想法吗?
谢谢。
在所有控制器方法中的整个应用程序中,调用:
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 的字符串属性。