2016-12-19 6 views
2

WFFM 맞춤 저장 액션 메소드를 사용 중입니다. 여기에 일부 서비스를 실행하고 응답을 받고, 나는 다음 페이지에서 응답을 표시해야합니다. 나는 아래 코드를 사용했지만 작동하지 않습니다.WFFM 맞춤 저장 액션 : - 응답 데이터를 방문 페이지에 전달

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

감사 페이지로 리디렉션하려면 SaveAction을 사용하면 안됩니다. Sitecore 파이프 라인을 사용하여 리디렉션 URL을 변경할 수 있습니다. 실제 예제는 MVC 양식에 대해 here으로 볼 수 있습니다 (Webforms 파이프 라인은 코드 예제없이 언급되어 있습니다).

모두는 Sitecore에서 올바른 파이프 라인을 찾는 데 달려 있습니다. 이 경우 성공할 경우 파이프 라인이 필요합니다. 그러나주의하십시오 : webforms와 mvc 솔루션에는 큰 차이가 있습니다.

웹 양식는 : 웹 양식의 경우 파이프 라인은 다음과 같습니다 <successAction> 이는 Sitecore.Forms.config에서 찾을 수 있습니다.

MVC는 : MVC의 경우 파이프 라인은 다음과 같습니다 <wffm.success> 이는 Sitecore.MvcForms.config에서 찾을 수 있습니다.