对象数据源转换问题 - 异常

本文关键字:异常 问题 转换 数据源 对象 | 更新日期: 2023-09-27 18:35:39

我有一个 Gridview 控件,我想根据页面上的某些控件动态绑定它。我已经让一切正常工作,除了以下代码,我尝试动态设置 Select 方法以及传递参数。我收到一个异常,我已经尝试了多种创建参数的方法。特此代码:

string filterValue = FilterValue.Value; //FilterValue.Value is a HiddenField (Value is definitely populated)
MyObjDataSource.SelectParameters.Add("policynumber",TypeCode.String, filterValue);    
MyObjDataSource.SelectMethod = "GetPolicybyPolicyNumber";    
MyObjDataSource.Select();

我的选择方法如下所示:

public IQueryable GetPolicybyPolicyNumber(Parameter policynumber, string sortExpr, int maximumRows, int startRowIndex)
    {
       //Debugging does not even reach here. I'm just returning null for demo purposes
       return null;
    }

我不断得到的例外是:

System.InvalidOperationException:无法将参数"policynumber"的值从"System.String"转换为"System.Web.UI.WebControls.Parameter"
at System.Web.UI.WebControls.ObjectDataSourceView.ConvertType(Object value, Type type, String paramName) ....

我也尝试过这个,它给出了相同的例外:

    Parameter param = new Parameter();
    param.Type = TypeCode.String;
    param.DefaultValue = FilterValue.Value;
    MyObjDataSource.SelectParameters.Add(param);

有什么建议吗?德克萨斯

对象数据源转换问题 - 异常

将第一个参数数据类型更改为字符串,如下所示

public IQueryable GetPolicybyPolicyNumber(string policynumber, string sortExpr, int maximumRows, int startRowIndex){...}