Как установить гиперссылку в rdlc для локального хоста и сервера? - PullRequest
1 голос
/ 06 мая 2011

Я использую отчет rdlc для отображения отчета, в отчете rdlc я установил гиперссылку для другого отчета, например:

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

С указанного URL моя гиперссылка работает нормально в localhost, но если я изменю его на этот:

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

Не работает.Итак, как мне настроить URL-адрес моей гиперссылки, чтобы он работал как на локальном, так и на сервере.

Ответы [ 2 ]

1 голос
/ 21 декабря 2011

Вам необходимо передать URL-адрес сервера в отчет в качестве параметра, тогда ваше выражение для текстового поля должно ссылаться на этот локальный параметр отчета.

Добавьте новый параметр в свой отчет и установите для него значение =Parameters!ReportParameterUrl.Value

. При загрузке ReportViewer установите правильный URL:

        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
0 голосов
/ 11 мая 2011

Пытались ли вы передать значение URL-адресу вручную, чтобы проверить, будет ли оно вести себя одинаково на локальном URL-адресе и именованном экземпляре? а как же попробовать через IP?

что-то вроде ...

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