我使用后期绑定并创建了一个帐户,我也创建了一个电话。我还发现了一个非常useful example的做法。唯一困扰我的是以下几行:
if (context.OutputParameters.Contains("id"))
{
Guid id = new Guid(context.OutputParameters["id"].ToString());
String type = "account";
followup["regardingobjectid"] = new EntityReference(type, id);
}
假设电话的原因是帐户。嗯,确实如此,但未来可能不是。我试着得到如下类型:
if (context.OutputParameters.Contains("id"))
{
Guid id = new Guid(context.OutputParameters["id"].ToString());
String type = context.OutputParameters["logicalname"] as String;
followup["regardingobjectid"] = new EntityReference(type, id);
}
然后我收到错误告诉我这样的字段不存在。字段名称错了吗?或者我使用所有错误的方法来检索实体的逻辑名称(即实体类型的实际名称,是该帐户,联系人还是crazydonkeyass)?
此外,我还不完全确定 OutputParameters 是否适合查看。建议?
答案 0 :(得分:1)
这可以在context.PrimaryEntityName
修改强>
以下是检查这是否为帐户的示例中的位
// Obtain the target entity from the input parameters.
Entity entity = (Entity)context.InputParameters["Target"];
// Verify that the target entity represents an account.
// If not, this plug-in was not registered correctly.
if (entity.LogicalName != "account")
return;
我猜这就是为什么他们有帐户硬编码(丑陋!)