我以两种不同的方式将SqlDatasource数据绑定到GridView。
1)在.aspx页面中声明SqlDatasource并将GridView上的DatasourceID属性设置为其id
2)在后面的代码中创建SqlDatasource并绑定到datasource属性
当我使用声明性方法(1)时,排序工作正常,我没有任何额外的工作,但如果我在后面的代码中创建SqlDatasource并尝试排序,我得到一个异常说'GridView'myGridView'已解决的事件排序未处理'。
我假设在使用第一种方法时会发生某种额外的管道。有谁知道datasourceid方法做了什么,程序化的方法没有?如果可能,我想在后面的代码中复制逻辑。
答案 0 :(得分:1)
GridView
检查它是否是使用DataSourceId
属性绑定的数据,如果不是,则必须处理Sorting
事件以进行排序。
您是否尝试将以编程方式创建的SqlDatasource
添加到页面的控件层次结构中(例如添加到PlaceHolder
中),然后使用GridView
绑定DataSourceId
{{1}}财产?我没试过,但它应该有用。