我正在另一个框架中创建一个插件,所以我无法更改控制器。我有一个 Actionfilter 对 OnActionExecuted 中的模型进行更改。当控制器返回视图时,这可以正常工作。但是,如果页面使用 AJAX 并且控制器使用 RenderPartialViewToString 的实现返回 JSON 结果,则结果(模型)会在 OnActionExecuted 之前返回给客户端。
我已经在调试器中逐步完成了代码。这是返回视图时的顺序:
OnActionExecuting
controller's ActionResult SomeMethod()
return View(...
OnActionExecuted
SomeView.cshtml
这是使用 AJAX 时的顺序:
OnActionExecuting
controller ActionResult SomeMethod()
return Json(... html = this.RenderPartialViewToString("...", myModel)
SomeView.cshtml
OnActionExecuted
关于如何在模型以局部视图返回之前修改模型的任何想法?