我有一个Gridview控件,我想根据页面上的一些控件动态绑定它。我已经得到了一切正常工作,除了下面的代码我试图动态设置选择方法以及传递参数。我得到了一个例外,我尝试了多种创建参数的方法。这里有代码:
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' 在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);
有什么建议吗? TX
答案 0 :(得分:1)
将第一个param数据类型更改为字符串,如下所示
public IQueryable GetPolicybyPolicyNumber(string policynumber, string sortExpr, int maximumRows, int startRowIndex){...}