我正在使用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();
}
}
答案 0 :(得分:0)
您不应使用SaveAction重定向到您的谢谢页面。您可以使用Sitecore管道来更改重定向网址。对于MVC表单,可以找到一个工作示例here(也提到了Webforms管道,但没有代码示例)。
所有这些都归结为找到正确的管道 Sitecore的。在这种情况下,如果成功,您需要一个管道。但要注意:webforms和mvc解决方案之间存在很大差异。
Webforms :网络表单的管道是:
中找到<successAction>
这可以在Sitecore.Forms.config
。Mvc :mvc情况下的管道是:
中找到<wffm.success>
这可以在Sitecore.MvcForms.config
。