我创建了一个带有多个按钮的静态FlyOut控件。点击那些按钮,不同的JS应该开启。我为每个JS函数创建了Commanddefinition,并在按钮控件中引用了它们。但是,我的按钮被禁用。如果所有按钮都引用相同的commanddefinition / js函数,则工作正常。我错过了什么?任何帮助将不胜感激。 这是我的代码:
<RibbonDiffXml>
<CustomActions>
<CustomAction Id="Add_Dynamic_Menu"
Location="Mscrm.Form.new_test.MainTab.Workflow.Controls._children">
<CommandUIDefinition>
<FlyoutAnchor Id="Sample.new_test.form.FlyoutAnchor.Static" Sequence="10"
Command="Mscrm.Enabled"
Image16by16="/_imgs/placeholders/ribbon_placeholder_16.png"
Image32by32="/_imgs/ribbon/newrecord32.png" LabelText="Sample Flyout"
Alt="Sample Flyout" TemplateAlias="isv">
<Menu Id="Sample.new_test.form.Menu">
<MenuSection Id="Sample.new_test.form.MenuSection"
Title="Menu Section Title" Sequence="15">
<Controls Id="Sample.new_test.form.MenuSection.Controls">
<Button Id="Sample.new_test.form.Controls.Button.FirstButton"
Command="Sample.FirstButtonComand" LabelText="First Button"
ToolTipTitle="First Button"
ToolTipDescription="The first button" TemplateAlias="isv"
Sequence="20"/>
<Button Id="Sample.new_test.form.Controls.Button.SecondButton"
Command="Sample.SecondButtonCommand" LabelText="Second Button"
ToolTipTitle="Second Button"
ToolTipDescription="The Second button" TemplateAlias="isv"
Sequence="20"/>
</Controls>
</MenuSection>
</Menu>
</FlyoutAnchor>
</CommandUIDefinition>
</CustomAction>
</CustomActions>
<Templates>
<RibbonTemplates Id="Mscrm.Templates"/>
</Templates>
<CommandDefinitions>
<CommandDefinition Id="Sample.FirstButtonCommand">
<EnableRules>
<EnableRule Id="Mscrm.Enabled"/>
</EnableRules>
<DisplayRules/>
<Actions>
<JavaScriptFunction FunctionName="testfirstbutton"
Library="$webresource:new_testfirstbutton"> </JavaScriptFunction>
</Actions>
</CommandDefinition>
<CommandDefinition Id="Sample.SecondButtonCommand">
<EnableRules/>
<DisplayRules/>
<Actions>
<JavaScriptFunction FunctionName="testsecondbutton"
Library="$webresource:new_testsecondbutton"> </JavaScriptFunction>
</Actions>
</CommandDefinition>
</CommandDefinitions>
<RuleDefinitions>
<TabDisplayRules/>
<DisplayRules/>
<EnableRules/>
</RuleDefinitions>
<LocLabels/>
</RibbonDiffXml>
答案 0 :(得分:0)
你在做什么看起来很好,所以仔细检查网络资源名称和所有内容。
排除故障的方法 1)将所有内容切换到有效的webresource / function 2)将另一个函数添加到JavaScript webresource并查看它是否仍然有效(如果失败,那么它是javascript函数)。 3)将一个FunctionName切换到第二个函数,同时保持websresource都一样。
答案 1 :(得分:0)
我发现了一些小事。两个按钮都具有相同的序列号。我会将firstbutton更改为10.其次,在seconnd按钮命令def上没有Mscrm.Enabled规则。
这些丝带喜欢挑剔。