【问题标题】:How to get value of property on action model on OnActionExecuted如何在 OnActionExecuted 上获取动作模型上的属性值
【发布时间】:2019-05-08 08:11:21
【问题描述】:

我需要在基于动作模型中的属性使用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
}

【问题讨论】:

    标签: .net-core action-filter onactionexecuted


    【解决方案1】:

    context 里面有很多东西,所以如果你在里面四处寻找,你会发现各种有用的东西。

    在您的情况下,我认为您想要的内容位于 context.ActionParameters 中,这是传递给控制器​​端点的参数的集合。如果您知道您的方法应该始终接收一个且只有一个参数,您可以使用以下方式访问它:

    var myId = (context.ActionParameters.Single().Value as Profile).Id

    所有关于 Single() 和强制转换的典型注释和注意事项都适用于此处,因此请确保以适合您的情况的正确方式从集合中获取参数。

    【讨论】:

      猜你喜欢
      • 2014-05-04
      • 2014-12-03
      • 1970-01-01
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      相关资源
      最近更新 更多