4

フレームワーク 4.5 を使用した ASP.NET Web プロジェクトを所有しています。VS2012 Crystal Reports Developer 用の SAP レポートがインストールされ、実装されています。

ローカル レポートで作成すると、ブラウザ (Chrome、Firefox、IE) で正しく動作し、正しい出口でデータが表示されます。現在、(別のサーバーで)公開時に最初に行ったのは、必要なライブラリなどがあるように、同じバージョンの SAP をインストールすることでした。

私が抱えている問題は、レポートビューアのブロック、つまり、ブラウザに表示されていないレポートコンテナとは何か、これが埋め込まれているがレポートビューアには何も表示されていないウィンドウを開くことです。レポートの外観はさらに少なくなります.

データ エラーか何かではないかと考えて、レポートを変更して空白を入れてみました。表示されるのはテキストのみで、接続などはなく、コード ビハインドで不要なコードを削除しました。レポートの読み込みを停止しました。

新しいローカル作品では、Web で公開されていますが、レポート ビューアーは引き続き使用できます。

誰でも私を少し助けることができますか?それに関する情報を探していますが、関連するフォーラムで見つけたのは、レポートが表示されていないことですが、レポート ビューアーについては何も表示されていません。

よろしくお願いします。

PS: サーバー ログで問題や Asp.Net Crystal Reports のエラーを確認しましたが、何も残しませんでした。

4

7 に答える 7

22

スマイラーの問題があり、解決策を見つけました。

Resource-Uri結晶レポートの書式設定のためにデフォルトからリソースを見つけるのに問題があると思います。

適切な書式設定のためC:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13に、このフォルダーをプロジェクトにコピーします。

これらの行を web.config ファイルに貼り付けます

<configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
       <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
  </configSections>

<businessObjects>
  <crystalReports>
    <rptBuildProvider>
      <add embedRptInResource="true" />
    </rptBuildProvider>
    <crystalReportViewer>
          <add key="ResourceUri" value="/crystalreportviewers13" />
  </crystalReportViewer>
  </crystalReports>
</businessObjects>

これをチェックして

これはあなたを助けるでしょう。

于 2013-12-07T11:00:31.633 に答える
3

「C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13」フォルダーをアプリケーションのルート フォルダーにコピーした後、次のコードをコピーして貼り付けてください。

<configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
       <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
  </configSections>

<businessObjects>
  <crystalReports>
    <rptBuildProvider>
      <add embedRptInResource="true" />
    </rptBuildProvider>
    <crystalReportViewer>
          <add key="ResourceUri" value="/crystalreportviewers13" />
  </crystalReportViewer>
  </crystalReports>
</businessObjects>

web.config ファイルの< configuration >タグの直後。私にとって、他の場所は機能せず、エラーメッセージが生成されました。

于 2016-02-03T10:51:15.477 に答える
1

私にとっては、Web ページの開発者ツール (F12、次に [コンソール] タブ) は、ファイルを 4_0_30319 フォルダーにコピーしたときに、サーバーが root/aspnet_client/system_web/4_6_1069 フォルダーを探していることを示していました。フォルダーと BAM の名前を変更しました。

于 2016-06-20T21:59:25.947 に答える
0

.Net 4.0 以下から 4.5+ に移行されたプロジェクトを実行している私たちのために、私は観察を行いました。ビューアーを含むページがサブディレクトリにある場合、画像の URL は Web アプリケーションのルートではなく、そのページに対して相対的に生成されているようです。たとえば、ページが /gl/accounts.aspx の場合、画像は /gl/crystalimagehandler.aspx のようになります.asax

protected void Application_BeginRequest(object sender, EventArgs e)
        {
            var p = Request.Path.ToLower().Trim();
            if (p.EndsWith("/crystalimagehandler.aspx") && p!= "/crystalimagehandler.aspx")
            {
                var fullPath=Request.Url.AbsoluteUri.ToLower();
                var index = fullPath.IndexOf("/crystalimagehandler.aspx");
                Response.Redirect(fullPath.Substring(index));
            }
        }
于 2014-09-23T10:16:19.237 に答える
0

.Net 4.5 ではなく、.Net 4 としてデプロイする必要があると思います。

于 2014-05-18T12:44:00.223 に答える