对于插件中不同的消息, 比如: 创建(Create), 更新(Update), 分配(Assign)等, 我们通过Target属性所获取的东西是不一样的.
以创建(Create)消息为例:
- // The InputParameters collection contains all the data passed in the message request.
- if (context.InputParameters.Contains("Target") &&
- context.InputParameters["Target"] is Entity)
- {
- // Obtain the target entity from the input parameters.
- Entity entity = (Entity)context.InputParameters["Target"];
- }
这里的entity变量是创建一条记录时所录入的字段, 可以使用contain方法来判断是否在创建时录入了某个字段, 如果创建时没有填写这个字段,那时用Contain方法返回的就是false
- if (entity.Contains("<字段>"))
- {
- // some logic
- }
- 对于更新(Update)消息也是如此, 使用Target属性所获取的实体里面包含的字段, 也只是更新的字段, 没有更新的字段在Contain方法中返回的会是false.
对于其他消息, 我会在以后进行更新.
参考链接: