我正在使用Sitefinity构建我的网站。 我使用内置小部件创建了一个表单。我可以配置相同的表单以获得多个响应吗? 所以我可以在另一个页面中拖动相同的表单并区分响应,就像我使用两种不同的表单一样。
问题是我使用MVC来应用验证消息和额外的东西,以便我不想重复它。 有没有简单的方法通过设置实现这一目标?
答案 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允许您复制现有表单,只需给它一个不同的名称。