配置包含多个响应的表单

时间:2018-01-23 08:32:22

标签: asp.net webforms sitefinity

我正在使用Sitefinity构建我的网站。 我使用内置小部件创建了一个表单。我可以配置相同的表单以获得多个响应吗? 所以我可以在另一个页面中拖动相同的表单并区分响应,就像我使用两种不同的表单一样。

问题是我使用MVC来应用验证消息和额外的东西,以便我不想重复它。 有没有简单的方法通过设置实现这一目标?

1 个答案:

答案 0 :(得分:0)

一种选择是在表单中有一个隐藏字段,然后订阅IFormEntryCreatedEvent并根据某些标识符修改每个响应(例如:页面URL)。

在此处阅读有关如何订阅IFormEntryCreatedEvent的信息: https://docs.sitefinity.com/for-developers-forms-events#iformentrycreatedevent

表单事件的订阅应该在sitefinity初始化之后发生(所以另一个事件)。 Global.asax

的示例
protected void Application_Start(object sender, EventArgs e)
{
    Bootstrapper.Bootstrapped += this.Bootstrapper_Bootstrapped;
}

private void Bootstrapper_Initialized(object sender, ExecutedEventArgs e)
{
   if (e.CommandName == "Bootstrapped")
   {
        EventHub.Subscribe<IFormEntryCreatedEvent>(this.FormEntryCreatedEventHandler);
    }
}

再一次,如果你需要区分表单回复,那么问题是,为什么不创建另一个表单 - 它更加清晰。 Sitefinity允许您复制现有表单,只需给它一个不同的名称。