如何在rdlc中为localhost和server设置超链接?

时间:2011-05-06 07:59:31

标签: reporting rdlc report

我正在使用rdlc报告来显示报告,在rdlc报告中我设置了另一个报告的超链接,如:

    ="http://localhost:8080/ReportForms/RECRptAdvertisement.aspx?
    reqid="&Fields!RequirementID.Value

从上面的URL我的超链接在localhost中正常工作,但如果我将其更改为:

    ="~/RECRptAdvertisement.aspx?reqid="&Fields!RequirementID.Value

它不起作用。那么如何设置我的超链接URL在localhost和服务器中都可以使用。

2 个答案:

答案 0 :(得分:1)

您需要将Server Url作为参数传递给报表,然后文本框的表达式应引用该本地报表参数。

在报告中添加新参数并将其设置为=Parameters!ReportParameterUrl.Value

加载ReportViewer时,请设置正确的网址:

        baseUrl = Request.Url.Scheme + @"://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + '/';
        ReportParameter rp = new ReportParameter("ReportParameterUrl", baseUrl);
        this.rvMyReport.LocalReport.SetParameters(new ReportParameter[] { rp });

最后,您的文本框表达式应为

=Parameters!ReportParameterUrl.Value + "RECRptAdvertisement.aspx?reqid="&Fields!RequirementID.Value

答案 1 :(得分:0)

您是否尝试手动将值传递给URL,以查看它在localhost URL和命名实例上的行为是否相同?那么通过IP尝试呢?

类似......

="~/RECRptAdvertisement.aspx?reqid=20001298"