首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json结果返回后调用ActionFilter - OnActionExecuted

Json结果返回后调用ActionFilter - OnActionExecuted
EN

Stack Overflow用户
提问于 2013-01-01 14:29:09
回答 1查看 587关注 0票数 0

我在另一个框架中创建了一个插件,所以我没有能力改变控制器。我有一个动作过滤器对OnActionExecuted中的模型进行了更改。当控制器返回一个View时,这可以很好地工作。但是,如果页面使用AJAX,并且控制器使用RenderPartialViewToString的实现返回JSON结果,则在OnActionExecuted之前将结果(模型)返回给客户端。

我已经单步执行了调试器中的代码。返回View的顺序如下:

代码语言:javascript
复制
 OnActionExecuting

 controller's ActionResult SomeMethod()
   return View(...

 OnActionExecuted

 SomeView.cshtml

下面是使用AJAX时的顺序:

代码语言:javascript
复制
 OnActionExecuting

 controller ActionResult SomeMethod()
   return Json(...  html = this.RenderPartialViewToString("...", myModel)

 SomeView.cshtml

 OnActionExecuted

关于如何在部分视图中返回模型之前修改模型,有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-01-01 15:12:24

这要归功于RenderPartialViewToString("...", myModel)。您可以在从action返回结果之前直接呈现它。方法OnActionExecuted在控制器操作返回后调用。

当你return View(...)它不是渲染这个视图。它将模型返回到当前视图,并表示该模型。视图的渲染将在稍后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14108394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档