現在、ページに ReportViewer コントロールが埋め込まれた ASP.NET Web サイトを移行しています。レポートはビューアーに正常に表示されますが、ドリルダウン リンクをクリックすると、IE は ScriptResource.axd で「不明なランタイム エラー」を示します。ReportViewer 12 を使用していますが、ReportViewer 10 でも同じ問題がありました。12 にアップグレードすることでこれが解決されると考えていましたが、そうではありませんでした。updatePanel で同様の問題を見つけましたが、役に立ちませんでした。リクエストに応じて追加情報を投稿できます。
エラーメッセージ
Message: Unknown runtime error
Line: 1806
Char: 9
Code: 0
URI: http://{server-hostname}/{Path}/ScriptResource.axd?d=HURY6fWJG979L4dvjF7qlfDEC
Jny9VK-KMhlGWqyXlmaGtN_PSJwOijkOw__2eElLRRrfm_T1O2eGEITZnlywp
7rZLCcaeFP2C6YzKTzdcARY90AxK-TYzamRaw54Sjz1HmSjcvT
s_AbkVas-O2rxil2mMnRtfFW-zZTjHFDn0tcXJEiDnEzUdLZMJ
_oU2xf0&t=72e85ccd
web.config アセンブリ参照
<add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
ページのソース
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="Dashboard.aspx.cs" Inherits="Dashboard" Title="Dashboard" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div>
<p>
<rsweb:ReportViewer ID="rvDashboardMain" runat="server" Font-Names="Verdana" Font-Size="8pt"
ProcessingMode="Remote" EnableViewState="true" Width="95%" CssClass="rvFont"
ShowBackButton="true" ShowParameterPrompts="True" PromptAreaCollapsed="true" Height="520px">
<ServerReport ReportPath="/{my-report-path}/{my-report}" />
</rsweb:ReportViewer>
</p>
</div>
</asp:Content>
コード裏ページ
public partial class Dashboard : System.Web.UI.Page {
protected void Page_Init(object sender, EventArgs e) {
if (!Page.IsPostBack) {
ServerReport serverReport = rvDashboardMain.ServerReport;
serverReport.ReportServerUrl = new Uri(ConfigurationManager.AppSettings["ReportServer"]);
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string UserID = HttpContext.Current.User.Identity.Name;
UserID = UserID.Substring(UserID.IndexOf(@"\") + 1, UserID.Length - UserID.IndexOf(@"\") - 1);
}
}
protected void rvReports_Drillthrough(object sender, Microsoft.Reporting.WebForms.DrillthroughEventArgs e)
{
ServerReport rpt = (ServerReport)e.Report;
rvDashboardMain.ServerReport.Refresh();
}
}
ドリルスルー リンクのアンカー
<a
tabindex="26"
onclick="var rp=$get('ctl00_ContentPlaceHolder1_rvDashboardMain_ctl09_ReportControl');if(rp&&rp.control)rp.control.InvokeReportAction('Drillthrough','188iT0R0x0:0');return false;" onkeypress="if(event.keyCode == 13 || event.which == 13){var rp=$get('ctl00_ContentPlaceHolder1_rvDashboardMain_ctl09_ReportControl');if(rp&&rp.control)rp.control.InvokeReportAction('Drillthrough','188iT0R0x0:0');}return false;"
href=""
style="cursor:pointer;"
class="A1d3b265b4e26456c97f9dd1067b6eec2186a"
target="_top">2,551</a>