C# Telerik中报告参数XXX的值无效

C# Telerik中报告参数XXX的值无效,c#,asp.net,telerik,telerik-reporting,C#,Asp.net,Telerik,Telerik Reporting,在尝试呈现报告时,我面临以下问题: Invalid value of report parameter XXX 我以编程方式添加参数,如下所示: protected void btn_generate_Click(object sender, EventArgs e) { AddParamToRep(); rep_attend.Visible = true; } 堆栈详细信息: [异常:报告参数'ca

在尝试呈现报告时,我面临以下问题:

Invalid value of report parameter XXX
我以编程方式添加参数,如下所示:

protected void btn_generate_Click(object sender, EventArgs e)
        {

            AddParamToRep();
            rep_attend.Visible = true;
        }




堆栈详细信息:

[异常:报告参数'camp_code'的值无效。] [CancelProcessingException:处理异常时出错 报告。处理已取消。有关详细信息,请检查InnerException 信息。]Telerik.Reporting.Processing.Report.ValidateParameters() +218 Telerik.Reporting.Processing.Report.ProcessItem()+51 Telerik.Reporting.Processing.ReportItemBase.ProcessElement()+31 Telerik.Reporting.Processing.Report.ProcessElement()+21 Telerik.Reporting.Processing.ProcessingElement.Process(数据成员 数据上下文)+112 Telerik.报告.处理.报告.处理(DataItemState, IEnumerable`1参数,布尔processItemActions,布尔 documentMapEnabled)+97 Telerik.Reporting.Processing.ReportProcessor.ProcessReport(ReportSource reportSource,IRenderingContext processingContext)+514 Telerik.Reporting.Processing.ReportProcessor.ProcessReport(ReportSource reportSource、哈希表设备信息、IRenderingContext 处理上下文)+259 Telerik.ReportViewer.WebForms.ReportRenderProperty.ProcessReport(ReportSource reportSource、哈希表设备信息、IRenderingContext 渲染上下文)+308 Telerik.ReportViewer.WebForms.reportrenderroperation.PerformOperationOverride() +159 Telerik.ReportViewer.WebForms.ReportPageOperation.PerformOperationOverride() +83 Telerik.ReportViewer.WebForms.HandlerOperation.PerformOperation(HttpContext 上下文,ICacheManager缓存管理器)+45 Telerik.ReportViewer.WebForms.BasicHandler.ProcessRequest(HttpContext 上下文)+160 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +399 System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+76

引用,您的问题是:

。。。即,当报表进入处理阶段时,将根据其验证属性验证其值。如果一个或多个参数没有有效值,处理将中止。报表参数定义用于验证提供的参数值的以下属性:

类型

确定可接受的值的类型。允许的类型有布尔型、日期时间型、整数型、浮点型和字符串型。默认参数类型为字符串

AllowNull

确定null(在VB.Net中为空)是否可接受

AllowBlank

仅当参数类型为字符串时应用。确定是否可以接受空字符串


答案1:缺少一个参数(不是错误中提到的参数)

答案2:在另一份报告中,问题是有两个数据源,其中一个是提供主数据源参数的下拉列表选择。使用reportProcessor.RenderReport方法以编程方式生成报告时,提供的参数必须出现在下拉列表的数据源生成的列表中

答案3:在报表设计器中,右键单击报表下方并选择报表参数。对于每个参数,请检查其类型和限制


答案4:对于报告中的每个数据源,检查每个参数的类型,并检查值是否分配在值列中。

错误的字面意思是
XXX
,或者是参数的名称?我的意思是,这个名称对于调试非常有用。@MichaelPerrenoud:
camp\u code
,参数的名称是
int.Parse(“…”)
,与
Int32
?@只是\u name,不,
int
Int32
的别名。我允许所有字段
null
因此异常消失,但报告为空?!!虽然我调试了代码,但查找每个参数都有一个value@just_name,这将是该报告的具体内容。
  protected void AddParamToRep()
        {
            try
            {
                int campCode = 0;
                if (ddl_camps != null && ddl_camps.Items.Count > 0)
                {
                    if (!string.IsNullOrEmpty(ddl_camps.SelectedValue))
                    {
                        campCode = int.Parse(ddl_camps.SelectedValue);
                    }
                }

                rep_attend.ReportSource.Parameters.Add(new Telerik.Reporting.Parameter("camp_code", campCode));
                rep_attend.ReportSource.Parameters.Add(new Telerik.Reporting.Parameter("dep_code", int.Parse(rad_ddl_dep.SelectedValue)));
                rep_attend.ReportSource.Parameters.Add(new Telerik.Reporting.Parameter("dep_name", rad_ddl_dep.SelectedItem.Text));
                rep_attend.ReportSource.Parameters.Add(new Telerik.Reporting.Parameter("rep_type", int.Parse(rbl_type.SelectedValue)));
            }
            catch (Exception ee)
            {
            }

        }
<telerik:ReportViewer ID="rep_attend" runat="server" Width="100%" Height="700px"
        Visible="false" ParametersAreaVisible="False" ShowPrintButton="False"> <typereportsource 
        typename="Reports.Det_HR_rep,Reports, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"></typereportsource>
</telerik:ReportViewer>