gbbosmiya
gbbosmiya

Reputation: 509

How to set hyperlink in rdlc for both localhost and server?

I am using rdlc reporting to display report, in rdlc report I was set hyperlink for another report like:

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

From above URL my hyperlink working fine in localhost but if I change it to this:

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

It is not working. So how do I set my hyperlink url to be workable in localhost as well as in server.

Upvotes: 1

Views: 3181

Answers (2)

Ash Machine
Ash Machine

Reputation: 9901

You need to pass the Server Url to the report as a Parameter, then your expression for the textbox should reference that local report parameter.

Add a new Parameter to your report and set it to =Parameters!ReportParameterUrl.Value

When Loading the ReportViewer, set the correct url:

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

Finally, your text box expressions should be

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

Upvotes: 1

ATek
ATek

Reputation: 825

Have you tried to pass a value to the URL manually to see if it behaves the sameway on localhost URL and named instance? what about trying via IP as well?

something like...

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

Upvotes: 0

Related Questions