2011-05-03 5 views
0

완벽하게 작동하는 VS2010에서 ReportViewer (rdlc) 컨트롤을 사용하여 Azure 웹 응용 프로그램에서 보고서를 보여줍니다. 최근에 내 클라이언트에서 ReportViewer의 Print 이벤트를 캡처하고 서버에 항목을 기록하도록 요청했습니다. 인쇄 버튼으로 연결했습니다. 로컬 환경에서 웹 응용 프로그램을 실행할 때 완벽하게 작동합니다. 그러나 Azure에서 Ajax 메서드는 클라이언트 측에서 호출되지 않습니다. 할 일을 제안하십시오. Azure 환경에서 Ajax에 대한 제한 사항이 있습니까?Windows Azure의 AjaxMethods가 작동하지 않습니다.

내가

protected void Page_Load(object sender, EventArgs e) 
{ 
    Ajax.Utility.RegisterTypeForAjax(typeof(Pages.Report)); 

    ImageButton btnPrint = new ImageButton(); 
    btnPrint = ((ImageButton)(this.FindControl("ctl00$" + ReportViewer1.ClientID.Replace("_","$") + "$ctl06$ctl06$ctl00$ctl00$ctl00"))); 
    btnPrint.Attributes["onclick"] += "attachEventForPrint();"; 
} 

[AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] 

public static void LogEvent(int pLoggingEvent) 
{ 
    // Addded logic to log event 
} 

뒤에 그리고 ASPX 파일 다음 함수에 코드를 Page_Load에 페이지를 등록하고있어이

function attachEventForPrint() { 
    if (typeof (Report) != "undefined") { 
       Report.LogEvent(4); 
      } 
     } 
+0

의 어떤 시점에서 본다 필자는 Microsoft Ajax를 사용한 적이 없지만 jQuery와 Ajax를 MVC 응용 프로그램에서 문제없이 사용할 수 있습니다. – vtortola

답변

1

좋은 소식은 내가 생각하지 않는다는 것입니다 JS에서 추가되었다 ajax 컨트롤 사용에 대한 제한 - 저는 몇 가지를 사용했으며 방금 작업했습니다. 확인

어떤 것들은 수 있습니다 :

  • 당신은 피들러는 HTTP 추적 볼 수 있습니다 - 당신은 인쇄 버튼을 클릭하면 요청이 서버로 전송되고 있습니까?
  • attachEventForPrint가 발생할 때 오류가보고되지 않았는지 확인하기 위해 자바 스크립트 디버거를 사용할 수 있습니까?
  • "상태"와 관련된 문제는 특히 세션 저장과 관련이 있습니까?

확인하는 또 한가지는 인쇄 버튼에 액세스 할 수있는 더 유지 보수 방법이 있는지입니다 - 문제에 대한 요구하고있다처럼 "$ctl06$ctl06$ctl00$ctl00$ctl00"는 중 현재 또는 미래

+0

좋은 답변 스튜어트! 내가 제안한대로 Fiddler를 사용하여 Azure의 Print 단추를 클릭 할 때 요청이 생성되지 않는다는 것을 알았습니다. 세션 저장을 위해 TableSessionState 공급자를 사용하고 있습니다. 특정 구성이 있습니까? – RightSideOfWrong

+0

Fiddler에서 아무 것도 표시되지 않으면 클라이언트 측 코드가 잘못되었다고 제안합니다. 자바 스크립트 측면을 확인하십시오. IE F12, 크롬 디버거 또는 방화 광을 사용합니다. 행운을 빕니다! – Stuart

+0

고마워. 피들러 + jQuery를 사용하여 내 문제를 해결 :) – RightSideOfWrong

관련 문제