我在WFFM中创建了一个自定义保存操作。在更新保存操作使其具有正确的程序集和完全限定的类名之后,我将保存操作添加到表单并尝试提交。表单提交并显示感谢消息,但问题是,在被调用的类中,保存操作的execute方法从未被调用。我不知道为什么会这样,有什么想法吗?这是我的自定义保存操作,以及我如何配置它的图片链接。WFFM类型
using Sitecore.WFFM.Abstractions.Actions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Sitecore.Data;
using Sitecore.WFFM.Abstractions.Shared;
using Sitecore.WFFM.Actions.Base;
using Sitecore.Form.Submit;
namespace Core.Forms {
public class CustomSaveAction: ISaveAction {
//custom parameters
public string SharepointUrl { get; set; }
public string ListId { get; set; }
public string MappedFields { get; set; }
public ID ActionID { get; set; }
public ActionType ActionType
{
get
{
return ActionType.Save;
}
}
public ActionState QueryState(ActionQueryContext queryContext) {
return ActionState.Enabled;
}
public string UniqueKey { get; set; }
public void Execute(ID formId, AdaptedResultList adaptedFields, ActionCallContext actionCallContext = null, params object[] data) {
throw new NotImplementedException();
}
}
}
当我在chrome上进行测试时,我感到很沮丧,所以我让团队中的另一名开发人员在他的机器上进行构建,看看会发生什么。注意,断点击中了。我尝试删除本地副本并从源代码控制中重新拉出,但仍然遇到同样的问题。在切换浏览器时感到沮丧,不知何故设法使它工作。我猜有一些东西,chrome是缓存,它不应该,但无论哪种方式,这是什么修复它为我。
你可以更新Execute方法并使用如下:
public void Execute(ID formid, AdaptedResultList fields, params object[] data)
{
Assert.ArgumentNotNull(fields, "fields");
// Your code here
}