我有一个名为 NotificationManager 的静态类,每次调用控制器方法时,我都想将 ModelErrors 存储在 NotificationManager 中。
但是,在 NotificationManager 内部,我无法访问 ModelState,因为它不在实际控制器内部。
有没有办法在控制器方法完成后自动调用方法,而不必在每个控制器方法中编写它?
注意:我需要使用视图中的值。
我有一个名为 NotificationManager 的静态类,每次调用控制器方法时,我都想将 ModelErrors 存储在 NotificationManager 中。
但是,在 NotificationManager 内部,我无法访问 ModelState,因为它不在实际控制器内部。
有没有办法在控制器方法完成后自动调用方法,而不必在每个控制器方法中编写它?
注意:我需要使用视图中的值。
覆盖控制器中的 OnActionExecuted。你还有 ViewData[]
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
//Do your stuff
base.OnActionExecuted(filterContext);
}
您可以创建一个全局 ActionFilter 并覆盖OnActionExecuted
。
或者,您可以在视图中放置一个子操作。
您可以覆盖 Controller 类中的方法来执行此操作:
http://msdn.microsoft.com/en-us/library/gg416513(v=vs.98).aspx
http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.onactionexecuted(v=vs.98).aspx