Kentico 12 MVC-自定义BizForm响应

时间:2019-05-09 18:15:05

标签: kentico kentico-mvc

我需要在Kentico中定义一个表单,该表单一旦提交,将在同一页面中显示youtube视频(无重定向)。这将类似于“显示文本”。有没有办法覆盖现有响应?

1 个答案:

答案 0 :(得分:1)

在现成的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标记。