我需要在 Kentico 中定义一个表单,一旦提交,它将在同一页面内显示一个 youtube 视频(无重定向)。这将类似于“显示文本”。有没有办法覆盖现有的响应?
问问题
191 次
1 回答
3
它看起来在 Kentico 开箱即用中是不可配置的。而且看起来不太容易实现,但我认为它仍然是可行的:
首先,创建您的自定义表单小部件并从KenticoFormWidgetController继承它(您可能需要覆盖一些内部方法)。
然后,在FormSubmitInternal方法中实现您的自定义逻辑 - 这是默认小部件的示例:
if (!string.IsNullOrEmpty(bizFormInfo.FormDisplayText))
{
string str = this.GetMacroResolver(bizFormInfo, bizFormItem, true).ResolveMacros(bizFormInfo.FormDisplayText, (MacroSettings) null);
TagBuilder tagBuilder = new TagBuilder("div")
{
InnerHtml = str
};
tagBuilder.AddCssClass("formwidget-submit-text");
return (ActionResult) this.Content(tagBuilder.ToString());
}
您可以将此逻辑绑定到,例如,如果显示文本中有“视频”字样 - 执行您的一些逻辑,您可以在那里组合您自己的 HTML 标记。
于 2019-05-13T16:39:04.730 回答