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

时间:2015-07-31 21:41:24

标签: c# .net asp.net-mvc url

我的代码中有一个函数可以在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());

可能的输入是:

reportUrl =" http://ssrs14devreports ..." ReportPath ="报告; rs:Command = Render; start = {0}; end = {1}"

这在IE 11中运行得很好,但在最新的Chrome和FireFox浏览器中,它编码"&" as"& -amp;"。请原谅 - in"& -amp;"。

1 个答案:

答案 0 :(得分:1)

不确定是否存在问题,但我不会将两个网址连接到" +"签名,使用

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

,而不是...

检查网址并确认您没有两个//而不是一个...