c# URL查询字符串参数在FireFox或Chrome中无法正确解析

本文关键字:Chrome 查询 URL 字符串 参数 FireFox | 更新日期: 2023-09-27 18:05:53

我的代码中有一个函数用于在SSRS中打开各种报告,它可能需要也可能不需要接受参数。我像下面这样传递URL和参数:

var reportUrl = ConfigurationManager.AppSettings["ReportServerUrl"];
        var reportPathComponents = ConfigurationManager.AppSettings["ReportPath"].Split(';');
        var reportPath = string.Join("&", reportPathComponents);
        return reportUrl + string.Format(reportPath, start.ToShortDateString(), end.ToShortDateString());

可能的输入:

reportturl = "http://ssrs14devreports…"ReportPath = "Report;rs:Command=Render;start={0};end={1}"

这在IE 11中工作得很好,但在最新的Chrome和FireFox浏览器中,它将"&"编码为"&-amp;"。

c# URL查询字符串参数在FireFox或Chrome中无法正确解析

不确定这是问题,但我不会用"+"号连接两个url,使用

Uri uri = new Uri(new Uri(reportUrl), reportPath);

相反……

检查url并确认你没有两个//而不是一个…