1

私は非常に奇妙な状況にあります。ReportViewerページにレポートを表示するために、ASP.NETのコントロールを使用していaspxます。VS2008 で Web サイトを構築すると、これは正常に機能します。しかしReport Viewer、VS2010でページにコントロールを追加するとうまくいきません...

ReportViewerVS2010 で私が抱えている問題は、レポートが常に更新され続けることです。そのページから送信したネットワーク トラフィックを表示するReportViewerと、レポートを取得するための新しい要求が絶えず送信されていることがはっきりとわかります。なぜこのように振る舞うかはわかりません.VS2010でのみ...

しかし、これは、レポートにパラメーターを追加しようとしたときにのみ発生します。

これは私のコードがどのように見えるかです:

VS2008

<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
    Font-Size="8pt" Height="642px" ProcessingMode="Remote" Width="896px">
    <ServerReport ReportPath="http://server.com/Product/Dashboards/test.rdl" 
        ReportServerUrl="http://server.com/ReportServer" />
</rsweb:ReportViewer>

VS2010

<rsweb:ReportViewer ID="ReportViewer1" runat="server" 
ProcessingMode="Remote" Width="948px" Font-Names="Verdana" Font-Size="8pt" 
     WaitMessageFont-Names="Verdana" 
    WaitMessageFont-Size="14pt">
    <ServerReport ReportPath="http://server.com/Product/Dashboards/test.rdl" 
        ReportServerUrl="http://server.com/ReportServer" />
</rsweb:ReportViewer>

コードビハインド

VS2008VS2010i の両方で、 my に次のコードがありますPage_Load

ReportParameter[] reportParameters = new ReportParameter[1];
reportParameters[0] = new ReportParameter("year", "2012", true);
ReportViewer1.ServerReport.SetParameters(reportParameters);
ReportViewer1.ServerReport.Refresh();

パラメータを追加すると VS2010 で問題が発生するのはなぜですか。たとえば、レポートが更新され続けるのはなぜですか? なぜこれが VS2008 で完全に正常に動作するのでしょうか?

4

2 に答える 2

1

これは、発生している問題である可能性があります: VS 2010 でレポートの読み込みが停止しない

SetParameters を呼び出す前に IsPostBack を確認する必要があるようです。

于 2013-10-11T15:27:45.987 に答える
1

これは古いものであることは知っていますが、まだ見ている人のために、ReportViewer2012でこの問題があり、コードビハインドでポストバックをチェックすることで解決しました.

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
   {
     // Your code behind code here
   }
}

これも役立つ場合があります: https://social.msdn.microsoft.com/Forums/en-US/deae558c-977f-484e-86ba-50cfd376c181/reportviewer-constantly-refreshing?forum=vsreportcontrols

于 2015-07-15T15:37:56.360 に答える