WFFM自定义保存操作: - 将响应数据传递给thankyou页面

时间:2016-12-19 14:39:07

标签: sitecore web-forms-for-marketers

我正在使用WFFM Custom Save操作方法。在这里,我正在执行一些服务并获得响应,我必须在下一页显示响应。我使用下面的代码,但它不起作用。

internal class WffmCustomSaveAction : WffmSaveAction
{
    public override void Execute(ID formId, AdaptedResultList adaptedFields, ActionCallContext actionCallContext, params object[] data)
    {
        HttpContext.Current.Response.Clear();

        StringBuilder sb = new StringBuilder();
        sb.Append("<html>");
        sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
        sb.AppendFormat("<form name='form' action='{0}' method='post'>", "http://local.website/thankyoupage");
        sb.AppendFormat("<input type='hidden' name='id' value='{0}'>", "id123");
        // Other params go here
        sb.Append("</form>");
        sb.Append("</body>");
        sb.Append("</html>");

        HttpContext.Current.Server.Transfer(sb.ToString());
        HttpContext.Current.Response.End();
    }
}

1 个答案:

答案 0 :(得分:0)

您不应使用SaveAction重定向到您的谢谢页面。您可以使用Sitecore管道来更改重定向网址。对于MVC表单,可以找到一个工作示例here(也提到了Webforms管道,但没有代码示例)。

  

所有这些都归结为找到正确的管道   Sitecore的。在这种情况下,如果成功,您需要一个管道。但要注意:webforms和mvc解决方案之间存在很大差异。

     

Webforms :网络表单的管道是:<successAction>    这可以在Sitecore.Forms.config

中找到      

Mvc :mvc情况下的管道是:<wffm.success>   这可以在Sitecore.MvcForms.config

中找到