C# 当使用Umbraco contour存档表单时,是否有任何方法可以连接到事件?使用Umbraco 4.7.2和Umbraco Contour 1.12?
我正在尝试创建一个功能,在使用Umbraco Contour时可以跟踪表单的存档时间。通常,Umbraco代码库中有一系列事件,我可以将其挂接。但是我在这里没有看到C# 当使用Umbraco contour存档表单时,是否有任何方法可以连接到事件?使用Umbraco 4.7.2和Umbraco Contour 1.12?,c#,umbraco,umbraco-contour,C#,Umbraco,Umbraco Contour,我正在尝试创建一个功能,在使用Umbraco Contour时可以跟踪表单的存档时间。通常,Umbraco代码库中有一系列事件,我可以将其挂接。但是我在这里没有看到 另一个想法是在数据库上有一个触发器或其他东西,但想看看这种方法是否有一个只使用代码的解决方案。据我所知,表单存档时没有引发任何特定事件,但是,您可以尝试订阅FormStorage.FormUpdated事件,然后检查表单是否已存档,然后执行代码: using System; using umbraco.BusinessLogic;
另一个想法是在数据库上有一个触发器或其他东西,但想看看这种方法是否有一个只使用代码的解决方案。据我所知,表单存档时没有引发任何特定事件,但是,您可以尝试订阅
FormStorage.FormUpdated
事件,然后检查表单是否已存档,然后执行代码:
using System;
using umbraco.BusinessLogic;
using Umbraco.Forms.Core;
using Umbraco.Forms.Data.Storage;
public class FormArchiveListener : ApplicationBase
{
public FormArchiveListener()
{
FormStorage.FormUpdated += new EventHandler<FormEventArgs>(FormStorage_FormUpdated);
}
void FormStorage_FormUpdated(object sender, FormEventArgs e)
{
FormStorage storage = (FormStorage) sender;
if (e.Form.Archived)
{
...
}
}
}
使用系统;
使用umbraco.BusinessLogic;
使用Umbraco.Forms.Core;
使用Umbraco.Forms.Data.Storage;
公共类FormArchiveListener:ApplicationBase
{
公共形式存档者()
{
FormStorage.FormUpdated+=新的事件处理程序(FormStorage\u FormUpdated);
}
void FormStorage\u FormUpdated(对象发送方,FormEventArgs e)
{
FormStorage存储=(FormStorage)发送方;
如果(如表格存档)
{
...
}
}
}
据我所知,表单存档时不会引发任何特定事件,但您可以尝试订阅FormStorage.FormUpdate
事件,然后从中检查表单是否存档,然后执行代码:
using System;
using umbraco.BusinessLogic;
using Umbraco.Forms.Core;
using Umbraco.Forms.Data.Storage;
public class FormArchiveListener : ApplicationBase
{
public FormArchiveListener()
{
FormStorage.FormUpdated += new EventHandler<FormEventArgs>(FormStorage_FormUpdated);
}
void FormStorage_FormUpdated(object sender, FormEventArgs e)
{
FormStorage storage = (FormStorage) sender;
if (e.Form.Archived)
{
...
}
}
}
使用系统;
使用umbraco.BusinessLogic;
使用Umbraco.Forms.Core;
使用Umbraco.Forms.Data.Storage;
公共类FormArchiveListener:ApplicationBase
{
公共形式存档者()
{
FormStorage.FormUpdated+=新的事件处理程序(FormStorage\u FormUpdated);
}
void FormStorage\u FormUpdated(对象发送方,FormEventArgs e)
{
FormStorage存储=(FormStorage)发送方;
如果(如表格存档)
{
...
}
}
}
在那里,我现在有机会测试一下。发送方不是表单
,它实际上是表单存储
对象。您可以使用FormEventArgs
访问当前表单。我已经更新了我的答案。在那里,我现在有机会测试一下。发送方不是表单
,它实际上是表单存储
对象。您可以使用FormEventArgs
访问当前表单。我已经更新了我的答案。