请解释一下 IActionFilter 和 IResultFilter 之间的区别。我了解 OnActionExecuting 发生在操作方法执行之前,OnActionExecuted 发生在操作方法执行之后,进一步了解执行操作方法意味着什么。我不明白,在 IResultFilter 的上下文中,执行操作结果意味着什么。
操作过滤器包含在控制器操作执行之前和之后执行的逻辑。例如,您可以使用操作过滤器来修改控制器操作返回的视图数据。
结果过滤器(或 IResultFilters)包含在执行视图结果之前和之后执行的逻辑。例如,您可能希望在视图呈现到浏览器之前修改视图结果。
Read 了解操作过滤器。 https://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/understanding-action-filters-cs
为了阐明 ViewResult 的作用,让我们看一下 ViewResultBase 的执行:
viewEngineResult = this.FindView(context);
this.View = viewEngineResult.View;
TextWriter output = context.HttpContext.Response.Output;
this.View.Render(new ViewContext(context, this.View, this.ViewData, this.TempData, output), output);
您将看到它首先找到视图,然后将视图渲染到响应输出流。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)