您好, 我试图在ASPX页面中使用Report Viewer Control来加载我的一些SSRS报告。
到目前为止,我遇到了设置数据源和参数值的问题。
除了必须由用户填写的参数外,我还需要设置报告的数据源凭据以及报告的内部/隐藏参数。
这是我在Page_Load方法中使用的代码:
DataSourceCredentials dsCredentials = new DataSourceCredentials()
{
Name = dsProps.Name,
UserId = dsProps.Username,
Password = dsProps.Password
};
// Configure properties of report viewer
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri(rsProps.ReportServerURL);
ReportViewer1.ServerReport.ReportPath = rsProps.ReportPath;
// Assign given parameters
ReportParameter[] reportParams = new ReportParameter[parameters.Count];
for (int i = 0; i < parameters.Count; i++)
reportParams[i] = new ReportParameter(parameters.ElementAt(i).Key, parameters.ElementAt(i).Value);
if (reportParams.Length > 0)
ReportViewer1.ServerReport.SetParameters(reportParams);
ReportViewer1.ServerReport.SetDataSourceCredentials(new DataSourceCredentials[] { dsCredentials });
到目前为止,查看器在加载时仍会提示用户输入数据源凭据,并发出内部/隐藏参数缺少值的错误,就像我的代码设置无效一样。
感谢您的帮助
答案 0 :(得分:1)
我相信我已经解决了这个问题。
我冒充了这个代码的特定Windows用户,当我有模拟代码时,我设置了参数和数据源,它失败了,没有取值。
我在提到的代码之前移动了模仿,至少到目前为止它都有效。
答案 1 :(得分:0)
我发现在设置参数(SetParameter)之前,我必须设置ReportServerCredentials。那是2小时我永远不会回来。