运行 批准成员时的代码

Run code when approving members

是否可以在选中成员的 "Is Approved" 复选框时执行一些 C# 代码?

我们的网站有一个注册表单,可以在“会员”部分以编程方式创建用户,但是新会员必须得到管理员的批准,我们希望在获得批准后向会员发送电子邮件。

我认为您需要做的是查看 MemberService.SavingMemberService.Saved 事件并附加自定义事件处理程序。请参阅 Determining if an entity is new 了解有关确定您是在与新会员还是现有会员打交道的信息。以下是从文档中复制的:

在 v6.2+ 和 7.1+ 中,您可以在 IEntity 的任何实现上使用扩展方法(这几乎是 Umbraco 服务返回的所有模型):

var isNew = entity.IsNewEntity();

工作原理

由于 IRememberBeingDirty 界面,这一切都是可能的。这个接口的名字确实很搞笑,但它准确地描述了它的作用。所有实体都实现了这个非常方便的接口,因为它不仅跟踪已更改的 属性 数据(因为它继承自另一个名为 ICanBeDirty 的搞笑接口),而且还跟踪 属性 数据在提交之前已更改。

从这里您应该能够检查您感兴趣的 属性 数据并相应地发送您的电子邮件。