C# 使用c修改WFFM信息#
我们在Sitecore 6.4.0网站上为营销人员设置了一个简单的表单,使用Web表单。表单可以很好地记录信息,我们编写了一个页面,允许最终用户查看结果,使用的代码主要来自 进程中的下一步是允许用户批准/拒绝提交,并将表单提交的信息传递给方法,或者一起删除表单提交 是否有方法使用c#从WFFM数据库中删除表单提交?我尝试了C# 使用c修改WFFM信息#,c#,sitecore,sitecore6,web-forms-for-marketers,C#,Sitecore,Sitecore6,Web Forms For Marketers,我们在Sitecore 6.4.0网站上为营销人员设置了一个简单的表单,使用Web表单。表单可以很好地记录信息,我们编写了一个页面,允许最终用户查看结果,使用的代码主要来自 进程中的下一步是允许用户批准/拒绝提交,并将表单提交的信息传递给方法,或者一起删除表单提交 是否有方法使用c#从WFFM数据库中删除表单提交?我尝试了Sitecore.Forms.Data.DataManager.DeleteForms()方法,但运气不佳,我怀疑它删除了整个表单,而不仅仅是单个表单提交 编辑:此外,我甚至可
Sitecore.Forms.Data.DataManager.DeleteForms()
方法,但运气不佳,我怀疑它删除了整个表单,而不仅仅是单个表单提交
编辑:此外,我甚至可以在单个表单提交上设置一个标志,将其标记为已批准/已拒绝,并且只处理代码中的显示/隐藏逻辑。因此,为特定的表单提交设置一个值也是可行的。欢迎您在我的博客上发布与使用我的代码示例相关的问题:-) 您使用Datamanager类的方法是正确的。 下面是一个删除表单的所有记录/提交(逐个)的示例 它不会删除自己创建的表单。仅提交数据库条目
string formID = ConfigurationManager.AppSettings["FormDataUploadID"].ToString();
List<GridFilter> args = new List<Sitecore.Web.UI.Grids.GridFilter>();
args.Add(new GridFilter("storageName", string.Empty, GridFilter.FilterOperator.Contains));
args.Add(new GridFilter("dataKey", formID, GridFilter.FilterOperator.Contains));
var submits = Sitecore.Forms.Data.DataManager.GetForms().GetPage(new PageCriteria(0, 0x7ffffffe), null, args);
/// Create a Collection to Loop
List<IForm> formlist = submits.ToList();
/// Loop all forms from Database and delete each entry.
foreach (IForm frm in formlist)
{
Sitecore.Forms.Data.DataManager.DeleteForms(new Sitecore.Data.ID(frm.FormItemId), frm.StorageName);
}
string formID=ConfigurationManager.AppSettings[“FormDataUploadID”].ToString();
列表参数=新列表();
Add(新的GridFilter(“storageName”,string.Empty,GridFilter.FilterOperator.Contains));
Add(新的GridFilter(“dataKey”,formID,GridFilter.FilterOperator.Contains));
var submits=Sitecore.Forms.Data.DataManager.GetForms().GetPage(新页面标准(0,0x7ffffffe),null,args);
///创建要循环的集合
List formlist=submits.ToList();
///循环数据库中的所有表单并删除每个条目。
foreach(formlist中的Form frm)
{
Sitecore.Forms.Data.DataManager.DeleteForms(新的Sitecore.Data.ID(frm.FormItemId)、frm.StorageName);
}
欢迎您在我的博客上发布与使用我的代码示例相关的问题:-)
您使用Datamanager类的方法是正确的。
下面是一个删除表单的所有记录/提交(逐个)的示例
它不会删除自己创建的表单。仅提交数据库条目
string formID = ConfigurationManager.AppSettings["FormDataUploadID"].ToString();
List<GridFilter> args = new List<Sitecore.Web.UI.Grids.GridFilter>();
args.Add(new GridFilter("storageName", string.Empty, GridFilter.FilterOperator.Contains));
args.Add(new GridFilter("dataKey", formID, GridFilter.FilterOperator.Contains));
var submits = Sitecore.Forms.Data.DataManager.GetForms().GetPage(new PageCriteria(0, 0x7ffffffe), null, args);
/// Create a Collection to Loop
List<IForm> formlist = submits.ToList();
/// Loop all forms from Database and delete each entry.
foreach (IForm frm in formlist)
{
Sitecore.Forms.Data.DataManager.DeleteForms(new Sitecore.Data.ID(frm.FormItemId), frm.StorageName);
}
string formID=ConfigurationManager.AppSettings[“FormDataUploadID”].ToString();
列表参数=新列表();
Add(新的GridFilter(“storageName”,string.Empty,GridFilter.FilterOperator.Contains));
Add(新的GridFilter(“dataKey”,formID,GridFilter.FilterOperator.Contains));
var submits=Sitecore.Forms.Data.DataManager.GetForms().GetPage(新页面标准(0,0x7ffffffe),null,args);
///创建要循环的集合
List formlist=submits.ToList();
///循环数据库中的所有表单并删除每个条目。
foreach(formlist中的Form frm)
{
Sitecore.Forms.Data.DataManager.DeleteForms(新的Sitecore.Data.ID(frm.FormItemId)、frm.StorageName);
}