我对SqlDatasource的Select()方法有点困惑。用一个例子很容易解释。我们来考虑一下这个测试代码:
//sql is a SqlDatasource, let's get out the question the initialization.
sql.SelectCommand= "select * from employees where iddepartment = @iddeparment";
sql.SelectParameters.Add("iddepartment ", DbType.Int, "1");
此时,我需要检索数据,所以我尝试做类似的事情:
IEnumerable<object> myData = sql.Select();
但是根据MSDN文档,Select
方法需要1个DataSourceSelectArguments
类型的参数。这让我很困惑,为什么我要传递一些&#34;选择参数&#34;如果我已经通过调用SelectParameter.Add(...)
设置它们作为参数?如何才能正确调用此功能?
答案 0 :(得分:2)
DataSourceSelectArguments不是你想象的那样。对于您的情况,您只需传递DataSourceSelectArguments.Empty
即可。
数据绑定控件使用DataSourceSelectArguments类进行请求 数据源控件执行其他与数据相关的操作 在结果集上,例如对数据进行排序或返回特定的数据 数据子集。这些与数据相关的操作由枚举 DataSourceCapabilities枚举。下表说明了如何操作 DataSourceSelectArguments类支持这些与数据相关的 操作
此参数可以包含有关要应用的过滤器或要排序的列的信息。例如,在使用可排序的GridView时,对列进行排序会调用Select()方法,并传入DataSourceSelectArguments实例,并将其SortExpression属性设置为用户选择排序的列名。如果您不希望对DataSource进行排序或筛选,则传入DataSourceSelectArguments.Empty。