Dynamics crm Dynamics CRM 2011:CommandProperties CrmParameter在传递到FlyoutAnchor JavaScript函数时未正确设置

Dynamics crm Dynamics CRM 2011:CommandProperties CrmParameter在传递到FlyoutAnchor JavaScript函数时未正确设置,dynamics-crm,dynamics-crm-2011,ribbon,ribbon-control,flyout,Dynamics Crm,Dynamics Crm 2011,Ribbon,Ribbon Control,Flyout,我尝试创建三个动态填充的弹出锚功能区按钮,基于以下答案: 所有三个弹出锚按钮都使用相同的PopulateQueryCommand。链接到该命令的JavaScript函数(请参见下面的代码块)获取CommandProperties CrmpParameter,该参数作为第一个参数传递,以便能够识别单击的弹出按钮(并且应该用动态添加的下拉菜单项填充) 函数动态菜单(CommandProperties){ ///基于上下文动态生成菜单项 /// ///从功能区发送的命令属性crm参数。用于插入菜单X

我尝试创建三个动态填充的弹出锚功能区按钮,基于以下答案:

所有三个弹出锚按钮都使用相同的PopulateQueryCommand。链接到该命令的JavaScript函数(请参见下面的代码块)获取CommandProperties CrmpParameter,该参数作为第一个参数传递,以便能够识别单击的弹出按钮(并且应该用动态添加的下拉菜单项填充)

函数动态菜单(CommandProperties){
///基于上下文动态生成菜单项
/// 
///从功能区发送的命令属性crm参数。用于插入菜单XML的对象
/// 
调试器;
变量menuXml=''+
//…其他菜单XML内容在这里
'';
CommandProperties.PopulationXML=menuXml;//此处有错误…PopulationXML未定义…:-(
// ...
}
函数被很好地调用,并且“CommandProperties”参数被传递(它不是
null
也不是
undefined
),但是当我尝试设置PopulationXML时,我得到一个错误,因为这个属性是
undefined
。下面列出的其他三个预期属性也是
undefined

  • SourceControlId:启动事件的功能区控件的Id值
  • CommandValueId:单击按钮时随命令事件一起发送的字符串
  • 菜单项Id:控件对菜单项Id的引用
当我传入第二个不同的CRMPareter时,例如PrimaryEntityTypeName,此参数已正确填充/设置

CommandProperties
参数出错的原因可能是什么


更新21-2-2012:为了完整起见,我还尝试了单按钮方法,如中所述,但得到了相同的结果(没有可用的Commandproperties对象)。我的CRM服务器正在运行Rollup 6,可能与此有关?是否有其他方法获取此类弹出式功能区菜单?可能是纯JavaScript的?它也应该在Outlook CRM客户端中工作…

我遇到了同样的问题,解决方案是使用 '',使用''
不同之处在于不使用转义字符"

删除转义字符可以创建子菜单项,这非常好!!,但我仍然无法获得“CommandProperties.SourceControlId”之类的属性。因此,我无法区分单击的不同按钮。作为一种解决方法,我必须为每个FlyoutAnchor按钮添加不同的CommandDefinition。您是否也可以这样做知道如何获取这些属性吗?感谢您抽出时间回答我的问题!我知道这是一个迟来的答案,可能已经解决了。您可以为按钮设置Id,然后检查Id