2011-08-18 9 views
0

Sharepoint 2010과 함께 브라우저 사용 가능 Infopath 양식을 사용하고 있고 "고맙습니다 ..."라는 양식을 클릭 한 후 모달 팝업을 표시하거나 다른 페이지로 리디렉션하려고합니다. 전송 된...".Infopath 양식을 보내신 후 사용자 지정 작업

양식이 페이지의 '탭'안에 있기 때문에보기를 사용할 수없고 제출시 해당보기로 변경할 수 없습니다. 내 말은,이 페이지에는 5 개의 버튼을 통해 5 개의 DIV가 가능하다는 것입니다. 기본적으로 열려있는 DIV는 첫 번째 DIV입니다. 이 양식은 5DIV 안에 있습니다. 제출 작업 (다시 게시) 후 페이지가 다시로드되고 첫 번째 DIV가 표시되므로 사용자는 "감사합니다 ...."와 함께보기를 볼 수 없습니다.

해결 방법에 대한 아이디어가 있습니까? 미리 감사드립니다.

수정 2

나는 Andreas의 해결책을 시도했지만 작동하지 않았습니다. 이것은 "제출"버튼 코드입니다.

public void CTRL114_5_Clicked(object sender, ClickedEventArgs e) 
      { 

      try 
      { 
       SPSecurity.RunWithElevatedPrivileges(delegate() 
       { 
        this.Submit();        
        HttpContext.Current.Response.Redirect("ThankYou.aspx"); 
       }); 
      } catch (Exception ex) 
      { 
        System.Console.Write(ex.toString()); 
      } 

      } 

제출을 클릭해도 아무런 변화가 없습니다. 페이지 리디렉션,보기 전환 없음, 데이터 제출 없음 아이디어가 있으십니까? 감사합니다.

답변

0

팝업이 브라우저 지원 양식과 호환되지 않으면 맞춤 코드 만 가능합니다. 제출 코드에서 정적 감사 페이지로 리디렉션 할 수 있습니다.

HttpContext.Current.Response.Redirect("ThankYou.aspx"); 

편집 : VSTA 편집기에서 System.Web을 참조해야합니다. 실제 예외가 없으면 작동하지 않는 것을 말하는 것이 정말 어렵습니다. 다음 코드를 시도해보고 출력을 게시하십시오 -

try 
{ 
    SPSecurity.RunWithElevatedPrivileges(delegate() 
    { 
      this.Submit(); 
      HttpContext.Current.Response.Redirect("ThankYou.aspx"); 
    }); 
} 
catch(Exception ex) 
{ 
    //implement your logging logic here 
} 

편집 2 : 미리보기 모드에서 양식을 열고 코드를 디버그 할 수 있습니까? 또한 이런 식으로 로깅 코드를 변경하는 것을 고려 :

catch(Exception ex) 
{ 
    using(var writer = new StreamWriter(@"C:\log.txt",true)) 
     writer.WriteLine("{0}\t{1}", DateTime.Now, ex.Message); 
} 

를 Console.WriteLine가 InfoPath는 작동하지 않습니다 당신이 실제 예외를 잡아 결코 때문이다. 오류 메시지가 표시되지 않으면 더 이상 문제를 해결하는 것이 매우 어려울 것입니다.

+0

답장을 보내 주셔서 감사합니다. 편집 된 질문을보십시오. – CalypsOOO

+0

다시 한번 Andreas에게 감사드립니다. 수정 된 새로운 질문을보십시오. – CalypsOOO

0

리디렉션의 또 다른 방법은 쿼리 문자열의 'Source'매개 변수를 사용하는 것입니다. 그러나 양식과 동일한 사이트 모음의 페이지로 리디렉션 만 할 수 있습니다. 예 : ThankYou.aspx 현재 사이트 colleciton 벗어나면

http://[site]/_layouts/FormServer.aspx?XsnLocation=/sites/[site]/formservertemplates/[form].xsn<b>&Source=/sites/[site]/pages/[page]</b> 

, 당신은 ThankYou.aspx로 리디렉션 중간 페이지로 리디렉션 할 수 있습니다. 나는 이것을 우회 할 다른 방법이 없다고 들었다.

관련 문제