0

現在、ページに 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&amp;&amp;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&amp;&amp;rp.control)rp.control.InvokeReportAction('Drillthrough','188iT0R0x0:0');}return false;" 
href="" 
style="cursor:pointer;" 
class="A1d3b265b4e26456c97f9dd1067b6eec2186a" 
target="_top">2,551</a>
4

0 に答える 0