Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net ReportViewer能否呈现具有相对路径的超链接?_.net_Winforms_Reportviewer_Hyperlink - Fatal编程技术网

.net ReportViewer能否呈现具有相对路径的超链接?

.net ReportViewer能否呈现具有相对路径的超链接?,.net,winforms,reportviewer,hyperlink,.net,Winforms,Reportviewer,Hyperlink,我已经在一个数据源上创建了一个本地报告,该数据源有一个名为“RelativePath”的字段。当我的WinForms应用程序呈现报告时,它会将文件导出到RelativePath字段中指定的位置。在报表生成器中,我将导航|超链接操作|跳转到URL设置为“=Fields!RelativePath.Value”,并将报表的EnableHyperlink属性设置为true。但是,每当我的应用程序呈现报告时,超链接都不会处于活动状态。但是,如果我将跳转到URL硬编码为绝对路径,它就可以正常工作。Repor

我已经在一个数据源上创建了一个本地报告,该数据源有一个名为“RelativePath”的字段。当我的WinForms应用程序呈现报告时,它会将文件导出到RelativePath字段中指定的位置。在报表生成器中,我将导航|超链接操作|跳转到URL设置为“=Fields!RelativePath.Value”,并将报表的EnableHyperlink属性设置为true。但是,每当我的应用程序呈现报告时,超链接都不会处于活动状态。但是,如果我将跳转到URL硬编码为绝对路径,它就可以正常工作。ReportViewer是否不呈现具有相对路径的超链接?

我一直在努力解决相同的问题,之后我得出结论,ReportViewer不支持具有相对路径的超链接。 解决这个问题的方法是添加一个自定义代码,该代码检索相对路径,然后使用您可能希望成为URL一部分的字段值进行连接-至少对我有效


沙迪

我遇到了同样的问题。为了解决这个问题,我创建了一个名为“AbsolutePath”的报告参数

转到.rdlc文件的设计视图。在“报告数据”选项卡上,您将看到一个“参数”节点。右键单击它可以:

  • 添加参数
  • 在“常规”选项卡上,在“名称”属性中输入“绝对路径”
  • 点击“默认值”
  • 选择“指定值”单选按钮
  • 添加新值“AbsolutePath”
  • 在文本框的操作表达式中,添加如下内容=“javascript:void(window.open(”+参数!AbsolutePath.Value+”/yourpage.aspx?id=“+Fields!id.Value+”,“\u blank”)”

    您可以看到新的“AbsolutPath”参数可添加到表达式中

    现在,您需要将该值传递到报表的参数中,如下所示

        string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);
        var param = new ReportParameter("AbsolutePath", baseUrl);
        this.ReportViewer.LocalReport.SetParameters(param);
    

    只需使用全局变量
    Globals!表达式中的ReportServerUrl

    = Globals!ReportServerUrl + "yourpath"
    

    我得出了同样的结论。您是说必须将相对URL转换为绝对URL,但我使用的是WinForms ReportViewer,需要相对URL才能使呈现的报告可移植。最后,我放弃了,只写了一个HTML文件。