Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
C# 将datetime传递到报表查看器时参数验证失败_C#_Asp.net_Exception_Reporting Services_Parameters - Fatal编程技术网

C# 将datetime传递到报表查看器时参数验证失败

C# 将datetime传递到报表查看器时参数验证失败,c#,asp.net,exception,reporting-services,parameters,C#,Asp.net,Exception,Reporting Services,Parameters,因此,我试图使用asp中的reportviewer控件查看远程ssrs报告。该报告采用三个参数-一个nvarchar和两个datetime。在我添加两个datetimes之前,传递单个nvarchar工作得很好,在这一点上我得到了以下错误。所以这肯定有问题。我总是犯下可怕的错误: Parameter validation failed. It is not possible to provide valid values for all parameters. (rsParamet

因此,我试图使用asp中的reportviewer控件查看远程ssrs报告。该报告采用三个参数-一个nvarchar和两个datetime。在我添加两个datetimes之前,传递单个nvarchar工作得很好,在这一点上我得到了以下错误。所以这肯定有问题。我总是犯下可怕的错误:

    Parameter validation failed. It is not possible to provide valid values for all    parameters. (rsParameterError)
尽管传递了所有三个参数的值,但仍会出现这种情况。我猜这是日期字符串中的/字符的问题,所以我尝试用url编码这些字符,但没有用。我可以确认此报告确实从reporting services运行,但我似乎无法从代码中正确传递参数值。建议

我的代码如下

    string firstdate = datepicker.Value;
    string enddate = datepicker2.Value;

    firstdate = HttpUtility.UrlEncode(firstdate);
     enddate = HttpUtility.UrlEncode(enddate);

    ReportParameter[] parm = new ReportParameter[3];
    parm[0] = new ReportParameter("store_name", DropDownList1.SelectedValue);
    parm[1] = new ReportParameter("mindate",firstdate);
    parm[2] = new ReportParameter("maxdate", enddate);



    ReportViewer1.ServerReport.ReportPath = "<REDACTED>";
    ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://<REDACTED>/ReportServer");
    ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerCredentials("<REDACTED>", "<REDACTED>", "");
    ReportViewer1.ProcessingMode = ProcessingMode.Remote;
    ReportViewer1.ServerReport.SetParameters(parm);
    ReportViewer1.ServerReport.Refresh();  
stringfirstdate=datepicker.Value;
字符串enddate=datepicker2.Value;
firstdate=HttpUtility.UrlEncode(firstdate);
enddate=HttpUtility.UrlEncode(enddate);
ReportParameter[]parm=新的ReportParameter[3];
parm[0]=新的ReportParameter(“store_name”,DropDownList1.SelectedValue);
parm[1]=新的报告参数(“mindate”,firstdate);
parm[2]=新的报告参数(“maxdate”,enddate);
ReportViewer1.ServerReport.ReportPath=“”;
ReportViewer1.ServerReport.ReportServerUrl=新Uri(“http:///ReportServer");
ReportViewer1.ServerReport.ReportServerCredentials=新的ReportServerCredentials(“,”,”);
ReportViewer1.ProcessingMode=ProcessingMode.Remote;
ReportViewer1.ServerReport.SetParameters(parm);
ReportViewer1.ServerReport.Refresh();

结果是.rdl文件被破坏了,但我不确定如何破坏。完全重新创建报告似乎解决了这个问题