2013-05-16 25 views
1

我目前正在確定是否要將營銷人員的Web表單應用於我目前正在處理的項目。該網站將是一個具有豐富用戶界面的響應式設計,因此我希望完全控制表單的呈現,例如標籤,輸入字段等,而不必修改WFFM SitecoreSimpleFormAscx.ascx文件或關聯的css文件。針對營銷人員的Web表單 - 以編程方式提交表單數據

目前有什麼方法可以使用C#代碼將一些表單數據提交給已經在Sitecore中創建的Web Forms for Marketing表單數據(假設我掌握了所有字段的知識)? WFFM reference guide有一個用於訪問已提交的Web表單數據的代碼片段,但僅提交一些內容。

回答

2

如果您不想挖掘表單的自定義控件,可以嘗試通過響應頁面中的JavaScript通過JavaScript對包含WFFM表單的頁面執行POST。或者,您可以在頁面上嵌入和隱藏wffm表單,並再次使用腳本進行特技驅動。我認爲第二種方法會更好,因爲它可以讓您更直接地響應驗證失敗。

0

你可以使用下面的代碼提交表單代碼到WFFM DB,它會以那種形式的報告頁面無縫顯示:

說你有你的填充在這個類的一個列表中的字段列表:

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

從Sitecore的領域GUID將是GUID: 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); 

希望這有助於!

相關問題