从ObjectResult获取价值

问题描述 投票:3回答:1

我有一个像这样的过滤器:

public class Err : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext context)
    {
        var result = context.Result;
    }
}

resultMicrosoft.AspNetCore.Mvc.BadRequestObjectResult的一个对象。它包含一个StatusCode和一个Value,但当我尝试这样提取它们:context.Result.Value时,我收到此错误:

错误CS1061'IrctionResult'不包含'Value'的定义,并且没有可访问的扩展方法'Value'接受类型'IActionResult'的第一个参数。

c# asp.net-core
1个回答
3
投票

这很简单 - Result的属性ActionExecutedContextIActionResult类型,没有属性Value。您可以将其投射到BadRequestObjectResult以获取Value财产:

public class Err : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext context)
    {
        var result = context.Result as BadRequestObjectResult;
        // you can access result.Value here
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.