gpt4 book ai didi

asp.net-mvc - 如何从 ControllerContext 获取结果类型

转载 作者:行者123 更新时间:2023-12-02 17:29:38 24 4
gpt4 key购买 nike

是否可以从 ControllerContext 实例获取 Action 结果类型(ViewResultJsonResult 等)?

最佳答案

不,这是不可能的。 Controller 的运行时间比任何 ActionResults 都早得多。但是,如果您正在编写 ActionFilter,则可以使用其 Result 属性从 filterContext 获取该信息。

例如:

public class MyGlobalActionFilter : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var result = filterContext.Result;
if (result is ViewResultBase)
{
// the controller action returned a view result
// (either a ViewResult or PartialViewResult)
}
else if (result is JsonResult)
{
// the controller action returned a JSON result
}
else if (result is RedirectToRouteResult)
{
// the controller action redirected
}
.... and so on
}
}

请记住,只有在 Controller 操作完成执行后,这才有意义,即仅在 OnActionExecutedOnResultExecutingOnResultExecuted 内。在该操作完成执行之前尝试验证 Controller 操作返回什么结果是没有意义的。

关于asp.net-mvc - 如何从 ControllerContext 获取结果类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14733316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com