使用动作模型中的属性使用 ActionFilter 执行动作后,我需要运行一些代码,如何获取OnActionExecuted内部属性的值?
型号
public class Profile
{
public Guid Id { get; set; }
public string Name { get; set; }
}
动作
public BotProfileDTO Update(Profile profile)
{
}
动作过滤器
public override void OnActionExecuted(ActionExecutedContext context)
{
//How to get profile Id here
}
答案 0 :(得分:0)
context
里面有很多东西,因此,如果在其中戳一戳,您会发现各种有用的东西。
在您的情况下,我认为您想要的东西生活在context.ActionParameters
中,它是传递给控制器端点的参数的集合。如果您知道您的方法应始终仅接收一个参数,则可以使用以下方式访问它:
var myId = (context.ActionParameters.Single().Value as Profile).Id
关于Single()和强制转换的所有典型注释和警告在这里都适用,因此请确保以适合您情况的正确方式从集合中获取参数。