我使用Sitecore 8 Update 2和WFFM模块。 我使用WFFM创建了一个注册页面,除了下拉列表中的值(邮政编码,城市,性别......)外,一切正常。
我将所有表单字段链接到配置文件字段,但这些值永远不会被填充。我尝试将表单下拉列表链接到配置文件上的下拉字段,链接到配置文件上的简单文本字段,但它从未填写任何表单字段值。
有谁知道这是为什么以及如何链接这些字段?
答案 0 :(得分:2)
这是WFFM中的一个错误。要解决此问题,请将以下代码添加到您的解决方案中,然后转到项/sitecore/system/Modules/Web Forms for Marketers/Settings/Field Types/List Types/Drop List
并将字段MVC Type
设置为{your namespace}.DropListField,[your dll name}
namespace {your namespace}
{
using System.Collections.Generic;
using System.Linq;
using Sitecore.Data.Items;
using Sitecore.Form.Core.Controls.Data;
/// <summary>
/// The drop list field.
/// </summary>
public class DropListField : Sitecore.Forms.Mvc.Models.Fields.DropListField
{
/// <summary>
/// Initialises a new instance of the <see cref="DropListField"/> class.
/// </summary>
/// <param name="item">
/// The item.
/// </param>
public DropListField(Item item)
: base(item)
{
}
/// <summary>
/// The get result.
/// </summary>
/// <returns>
/// The <see cref="ControlResult"/>.
/// </returns>
public override ControlResult GetResult()
{
var value = this.Value as List<string>;
var selectListItem = this.Items.SingleOrDefault(x => x.Value == value.First());
var str = selectListItem != null ? selectListItem.Text : string.Empty;
return new ControlResult(this.ID.ToString(), this.Title, selectListItem != null ? selectListItem.Value : string.Empty, str);
}
}
}
答案 1 :(得分:0)
听起来可能是这个错误:
使用Robomongo检查值是否在MongoDB中正确存储。