asp: SqlDataSource для элементов DataSet - PullRequest
2 голосов
/ 24 июня 2009

У меня есть инструмент asp: SqlDataSource ID = "SqlDataSource1" на моей странице aspx, что я хочу сделать в коде c # sharp: перенести записи, возвращенные источником данных, и поместить их в DataSet, чтобы я мог добавить пейджинг на мою страницу, как мне это сделать, мои попытки пока не увенчались успехом?!

Мои попытки до сих пор были такими:

DataSet Items = new DataSet (); Items = SqlDataSource1.Data ();

Но ошибка, которую я получаю, заключается в том, что элемент управления SqlDataSource1 недоступен в этом контексте, и поэтому, очевидно, intellisense его не берет, поэтому бит Data () является полной фикцией с моей стороны ...

Спасибо, R

Ответы [ 2 ]

3 голосов
/ 24 июня 2009

flavour404, вы не должны получить эту ошибку, если вы правильно настроили элемент управления. Я только что проверил ваш сценарий, и он работает без указанной вами ошибки.

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

Надеюсь, это поможет!

2 голосов
/ 11 мая 2012

Это должно работать! :)


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

DataTable table = view.ToTable();
DataSet ds = new DataSet();
ds.Tables.Add(table);
...