【发布时间】:2016-01-19 17:03:50
【问题描述】:
我在母版页上有一个 Ektron 智能表单。我想在提交特定的智能表单时调用一些自定义 C# 代码。
这可能吗?还有其他方法吗?
或者当智能表单条目添加到表中时设置侦听器的一种方式。
【问题讨论】:
我在母版页上有一个 Ektron 智能表单。我想在提交特定的智能表单时调用一些自定义 C# 代码。
这可能吗?还有其他方法吗?
或者当智能表单条目添加到表中时设置侦听器的一种方式。
【问题讨论】:
经过一些调查 - 最好的方法似乎是使用“策略”
将此添加到 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
}
}
【讨论】: