1

我目前正在确定是否将面向营销人员的 Web 表单包含在我目前正在进行的项目中。该网站将是一个具有丰富 UI 的响应式设计,因此我希望完全控制表单的呈现,例如标签、输入字段等,而不必修改 WFFMSitecoreSimpleFormAscx.ascx文件或相关的 css 文件。

目前有什么方法可以使用 C# 代码将一些表单数据提交到已在 Sitecore 中创建的营销人员 Web 表单表单(假设我了解所有字段)?WFFM参考指南有一个代码片段,用于访问已提交的 Web 表单数据,但仅提交一些数据就没有。

4

2 回答 2

2

如果您不想深入研究表单的自定义控件,您可以尝试从响应页面通过 JavaScript 对包含 WFFM 表单的页面执行 POST。或者,您可以在页面上嵌入和隐藏 wffm 表单,然后再次使用脚本特技驱动它。我认为第二种方法会更好,因为它可以让您更直接地响应验证失败。

于 2013-05-16T05:53:09.710 回答
0

您可以使用以下代码向 WFFM DB 提交表单代码,它将无缝显示在该表单的报告页面中:

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

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

字段 guid 将是来自 sitecore 的 guid: 在此处输入图像描述

然后您可以保存到 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);

希望这可以帮助!

于 2014-06-16T13:05:09.667 回答