如何获取ActionFilterAttribute中实际对象的值?在调试器中,我在actionExecutedContext.Result.Value中看到值。
但是,当尝试将它们实际输入为时
[actionExecutedContext.Result.Value
或actionExecutedContext.Result.GetValue()
,它无法识别它们。
我需要实际的对象,因此可以将其发送到我的静态数据方法之一,该方法接受输入并将所有数字乘以2。
public async Task OnActionExecutionAsync(ActionExecutingContext actionContext, ActionExecutionDelegate next)
{
var actionExecutedContext= await next();
// ObjectDataConverter.MultiplyIntegersBy2(test.Result.Value);
}
actionExecutedContext.Result.Value错误CS1061:'IActionResult'不包含'Value'的定义,并且找不到可访问的扩展方法'Value'接受类型为'IActionResult'的第一个参数(您是否缺少using指令或程序集参考?)
您需要将actionExecutedContext.Result强制转换为ObjectResult,如果强制转换成功,则使用ObjectResult.Value:
var objResult = actionExecutedContext.Result as ObjectResult;
if (objResult != null && objResult.Value != null) {
// process objResult.Value here
}