2012-05-15 2 views
1

내 ASP.net MVC3 응용 프로그램에서 reportviewer 컨트롤이 필요합니다. VS2010 ReportViewer V10.0MVC3의 reportviewer 컨트롤에 대한 포스트 백 문제

다음 솔루션을 사용해 보았습니다. 나는 사용자 정의 컨트롤을 만들고 reportviewer 컨트롤을 거기에 넣는다. 상기 링크에 도시

How can I use a reportviewer control in an asp.net mvc 3 razor view?

코드는 동일하다.

문제는 입니다. 다음 페이지 나 마지막 페이지를 누르면 해당 페이지가 그대로 유지됩니다. - 사용자가 매개 변수를 입력하고 보고서 뷰어에서 보고서보기 단추를 누르는 것을 허용하면 아무 작업도 수행하지 않습니다.

나는 그것의 상태를 잃는 이유를 안다. 그것의 포스트 백 문제. 해당 일반 aspx 페이지를 내가 "! IsPostBack"에 의해 page_load에서 제어 할 수 있지만 어떻게 사용자 정의 컨트롤에서 할 수 있다면. IsPostback을 page_load 컨트롤에 넣으려고했지만 항상 false입니다.

위 코드와 동일한 코드가 있습니다. 사용자 정의 컨트롤을 사용하고 있습니다.

모든 솔루션?

답변

2

이 트릭을 할 다시 게시물에 IsPostBack을 = true를 만들 것입니다 :

<script runat="server"> 
    private void Page_Init(object sender, System.EventArgs e) 
    { 
     Context.Handler = this.Page; 
    } 
</script> 
+0

는 MVC입니다 유의하시기 바랍니다. 포스트 백, Page_init 및 이와 유사한 웹 양식 개념은 여기에 적용되지 않습니다. – Tariqulazam

+0

MVC 응용 프로그램에서 .ascx 컨트롤을 사용하는 것에 관한 질문이있었습니다. @ Html.Partial ("UserControlName")을 통해 MVC 뷰에서 .ascx 컨트롤을 렌더링 할 수 있습니다. 그러나 불행하게도 IsPostBack은 위의 트릭이 적용되지 않는 한 사용자 컨트롤에서 항상 false입니다. Page_Init은 MVC에서는 유효하지 않지만 .ascx 사용자 컨트롤에서는 유효합니다. – shapkin

+0

@shapkin 감사합니다. 포스트 백의 무한 루프였던 보고서 뷰어가 포함 된 페이지에서 도움이되었습니다. – Candide