使用 Ektron API 连接要在智能表单提交时触发的事件

本文关键字:事件 表单提交 智能 API Ektron 连接 使用 | 更新日期: 2023-09-27 18:31:05

我在母版页上有一个 Ektron 智能表单。我想在提交特定的智能表单时调用一些自定义 C# 代码。

这可能吗?有没有其他方法可以做到这一点?

或者实际上是一种在将智能表单条目添加到表中时设置侦听器的方法。

使用 Ektron API 连接要在智能表单提交时触发的事件

经过一番调查 - 最好的方法似乎是使用"策略"

将此添加到 ObjectFactory.config

<add name="Form">
      <strategies>
        <add name="SmartFormStrategy" type="MyNamespace.SmartFormStrategy" />
      </strategies>
</add>

然后沿着这些思路创建一个新类

 public class SmartFormStrategy : FormStrategy
        {
            public override void OnAfterSubmit(FormData formData, FormSubmittedData submittedFormData, string formXml,
                CmsEventArgs eventArgs)
            {
                var formFieldDataItem = submittedFormData.DataItems.ToList().FirstOrDefault(x => x.FieldName == "EktFormId");
//act upon the form submit results
              }
    }