Sitecore 在运行时添加隐藏字段

Sitecore 在运行时添加隐藏字段,sitecore,sitecore7,web-forms-for-marketers,Sitecore,Sitecore7,Web Forms For Marketers,在Sitecore WFFM(营销人员的Web表单)中,我们可以在运行时添加隐藏字段吗?即在提交操作时,为隐藏字段分配一些值。 如果表单上出现异常并且用户重新提交表单,我还希望重用此值 产品详情-第7.2版。141226,营销人员网络表单2.4修订版140117非常简单,您可以创建这样的隐藏字段(当然,您可以为隐藏字段提供替代和更复杂的定制行为): 下一步,您需要向WFFM注册该字段。为此,只需为新字段创建一个项目: /sitecore/system/Modules/Web Forms for

在Sitecore WFFM(营销人员的Web表单)中,我们可以在运行时添加隐藏字段吗?即在提交操作时,为隐藏字段分配一些值。 如果表单上出现异常并且用户重新提交表单,我还希望重用此值


产品详情-第7.2版。141226,营销人员网络表单2.4修订版140117

非常简单,您可以创建这样的隐藏字段(当然,您可以为隐藏字段提供替代和更复杂的定制行为):

下一步,您需要向WFFM注册该字段。为此,只需为新字段创建一个项目:

/sitecore/system/Modules/Web Forms for Marketers/Settings/Field Types/Custom/Hidden Field
在该项中,为该隐藏字段指定程序集和类名,这是Sitecore的常见方法

到目前为止,一切顺利。现在,您可以像其他字段一样使用隐藏字段,包括以编程方式添加它们


不幸的是,我目前没有一个以编程方式添加字段的代码示例。不过,您可以尝试使用Reflector、dotPeek或任何其他分解工具来找到它。库应该已经在您的\bin文件夹中,名为Sitecore.Forms.Core.dll

Hey@Martin Miles。上述方法的问题是,在下面的方法-public void Submit(ID formid,AdaptedResultList字段)中提交操作之后,我们如何向隐藏字段添加值?问题是,我们只能读取添加到表单中的字段的值,无法更新它。foreach(AdaptedControlResult in fields){//访问隐藏字段并尝试更新//结果。值仅为只读且无法更新},因此我的要求是1)在窗体引发异常之前,向隐藏字段或视图状态(非会话)添加一些值。2) 一旦用户重新提交表单-我需要访问上面保存的值。所以你想在点击按钮之后,但在它进入服务器之前,添加一个隐藏字段值吗?还是别的什么?你能在更高的层次上描述你的目标吗,让我理解你为什么需要这样的行为?您正在尝试创建多步骤WFFM吗?我的基本意图如下-1)在表单提交上-在调用RESTAPI的地方调用自定义操作。2) 若上面的API返回false,我将抛出一个异常,并向用户发送一条消息以供重试,用户将返回表单并保留值。在这种情况下,我想将GUID保存在某个临时变量中。3) 用户可以重新提交—我想访问步骤2中保存的GUID并编写一些逻辑。到目前为止,我已经使用HttpContext.Current.Session[“SesionGUID”]来解决我的目的。但我想避开Session,我正在考虑是否可以使用隐藏字段、VieState等来解决我的目的。
/sitecore/system/Modules/Web Forms for Marketers/Settings/Field Types/Custom/Hidden Field