2

我的aspx页面上有一个asp:SqlDataSource ID="SqlDataSource1" 工具,我想在后面的c#尖锐代码中做的是传输数据源返回的记录并将它们放入DataSet中,这样我就可以添加分页到我的页面,我该怎么做,到目前为止我的尝试都失败了?!

到目前为止,我的尝试大致如下:

数据集项目 = 新数据集();项目 = SqlDataSource1.Data();

但是我得到的错误是 SqlDataSource1 控件在这种情况下是不可访问的,所以很明显智能感知没有把它捡起来,所以'Data()'位对我来说完全是虚构的......

谢谢,R

4

2 回答 2

3

flavor404,如果您正确设置了控件,则不应出现该错误。我刚刚测试了你的场景,它没有你提到的错误。

SqlDataSource1 没有任何 Data 方法,您可能正在寻找 Select() 方法并且它不返回 DataSet。如果将 SqlDataSource.DataSourceMode 属性设置为“DataSet”,您将获得 DataView 对象。请参阅下面的示例

<asp:SqlDataSource ID="SqlDataSource1" runat="server" DataSourceMode="DataSet"
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommand="SELECT * FROM [Readings]"></asp:SqlDataSource>

DataView testView = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);

阅读 MSDN 了解详情:

http://msdn.microsoft.com/en-us/library/dz12d98w.aspx
http://msdn.microsoft.com/en-us/library/system.data.dataview.aspx

希望这可以帮助!

于 2009-06-23T23:29:39.750 回答
2

这应该工作!:)


DataView view = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);

DataTable table = view.ToTable();
DataSet ds = new DataSet();
ds.Tables.Add(table);
于 2012-05-11T18:15:03.887 回答