asp.net ページに CrsytalReportView があります。Page_Load イベントで CrystalReportViewer の ReportSource を設定しています。Visual Studio を実行してページを開始すると、ReportViewer はページにレポート データを表示します。IIS で http 経由で自分の Web サイトを公開したところ、すべて正常に動作しました。しかし、IIS から Web サイトのバインドをHTTPSに変更した後、レポート ページに何も表示されません。
ここにいくつかのコードがあります:
1.マイレポートページ
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterMain.Master" AutoEventWireup="true"
CodeBehind="ReportPageMain.aspx.cs" Inherits="RPS_ArchiveEditor_NEW.ReportPageMain" %>
<%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
<asp:Content ID="Content1" ContentPlaceHolderID="cph_Body" runat="server">
<CR:CrystalReportViewer ID="CrystalReportViewerMain" runat="server" AutoDataBind="true"
HasPrintButton="False" HasExportButton="False" HasDrillUpButton="False" HasDrilldownTabs="False" />
<asp:Button runat="server" ID="btnPrintReport" CssClass="PrintReportButton" OnClick="btnPrintReport_Click" Text="Çap et" />
<input type="button" id="btnGoToDefaultPage" class="PrintReportButton" value="Əsas səhifə" onclick="window.location.href='Default.aspx'" />
</asp:Content>
2. Page_Load event
protected void Page_Load(object sender, EventArgs e)
{
ReportDocument crystalReport = new ReportDocument();
if (Ajax.RoleIsAdmin())
crystalReport.Load(Server.MapPath("rptMainGridView.rpt"));
else
crystalReport.Load(Server.MapPath("rptUserGridView.rpt"));
// in this session have data, I'm absolutely sure.
List<PersonDetailsForPrint> perDetsForPrintList = Session["perDetForPrint"] as List<PersonDetailsForPrint>;
crystalReport.SetDataSource(perDetsForPrintList);
CrystalReportViewerMain.ReportSource = crystalReport;
Session["ReportSource"] = crystalReport;
}