Sitecore WFFM - 如何从外部触发表单

时间:2014-06-02 08:46:14

标签: c# sitecore web-forms-for-marketers

我有营销人员的网络表单,我需要通过其他地方的代码“运行”该网络表单。

有没有办法加载webform并运行其执行操作?例如,对于常规的sitecore项目,我可以根据其ID获取它,但我似乎无法找到将常规sitecore项目转换为WFFM项目然后执行其保存操作(并可能设置)的方法它的领域)。

1 个答案:

答案 0 :(得分:1)

听起来您正试图将数据插入WFFM数据库而无需运行WFFM提交操作?我做对了吗?

如果是这样,您可以使用以下代码将表单代码提交到WFFM数据库,它将在该表单的报告页面中无缝显示:

假设您在此类列表中填写了填写的字段列表:

public class WffmField
    {
        public string FieldName { get; set; }
        public string FieldGuid { get; set; }
        public string FieldValue { get; set; }
    }

现场guid将是sitecore的指南: enter image description here

然后您可以保存到WFFM数据库:

// This should be populated with the data you want to send to the WFFM database
var fields = new List<WffmField>(); 
var wffmDatabaseFields = fields.Select(GetWFFMDatabaseField).ToList();

Sitecore.Forms.Data.DataManager.InsertForm(
    formId: new Sitecore.Data.ID("<Form guid here>"),
    fields: new AdaptedResultList(wffmDatabaseFields),
    sessionID: AnalyticsTracker.SessionId,
    data: null);

希望这有帮助!