Xaml 自定义编辑器未向自定义SaveAction传递参数
我有一个困扰了我好几个小时的问题 我已经创建了自定义保存操作和自定义编辑器:通过遵循本教程: 在自定义编辑器字段的后端代码的OnOK方法中,我有以下内容:Xaml 自定义编辑器未向自定义SaveAction传递参数,xaml,sitecore,Xaml,Sitecore,我有一个困扰了我好几个小时的问题 我已经创建了自定义保存操作和自定义编辑器:通过遵循本教程: 在自定义编辑器字段的后端代码的OnOK方法中,我有以下内容: protected override void OnOK(对象发送方、事件args args) { SheerResponse.SetDialogValue( 参数sutil.NameValueCollectionToXml(新的NameValueCollection() { {“TargetLogId”,“SomeID”} })); ba
protected override void OnOK(对象发送方、事件args args)
{
SheerResponse.SetDialogValue(
参数sutil.NameValueCollectionToXml(新的NameValueCollection()
{
{“TargetLogId”,“SomeID”}
}));
base.OnOK(发送方,args);
}
在我的保存操作中:
公共字符串TargetLogId{get;set;}
public override void Execute(Sitecore.Data.ID formid,Sitecore.Form.Core.Client.Data.Submit.AdaptedResultList字段,参数对象[]数据)
{
/*
密码
*/
}
问题是TargetLogId在我的保存操作中始终为null,而不是预期的“SomeID”值。我做错了什么
编辑:
XAML:
在自定义保存操作项中,我指向保存操作类和程序集
当我单击“保存”操作上的“编辑”时,编辑器显示良好。。然后启动SheerResponse.SetDialogValue方法。这真的是正确的方法吗?您是否能够确认Sitecore设置已正确完成,并且能够调试并看到“SomeID”进入TargetLogId?我能够在OnOk方法中设置断点,并看到NameValueCollectionToXml确实创建了有效的XML。因此,如果你问的是这个问题,代码确实会执行。这真的让我恼火。有什么想法吗?你有你的XAML要发布吗?另外,您是否检查了数据参数,查看其中包含的内容?我发布了XAML。。是,数据参数仅包含执行保存操作的表单的ID
<?xml version="1.0" encoding="utf-8" ?>
<control xmlns="http://schemas.sitecore.net/Visual-Studio-Intellisense"
xmlns:def="Definition">
<SaveFormToCsvSettings>
<FormDialog ID="Dialog" Icon="Applications/32x32/gear.png">
<CodeBeside Type="xxx.yyy.SitecoreDialogs.ChooseTargetItem,xxx.yyy.SitecoreDialogs"/>
<Combobox ID="AvailableTargetLogs"></Combobox>
</FormDialog>
</SaveFormToCsvSettings>
</control>