asp: SqlDataSource для элементов набора данных

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

Мои попытки до сих пор были следующими:

Элементы набора данных = новый набор данных (); Items = SqlDataSource1.Data ();

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

Спасибо, R


person flavour404    schedule 23.06.2009    source источник


Ответы (2)


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.

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

person Faheem    schedule 23.06.2009
comment
Хорошо, это имеет смысл, но в моем коде C # за файлом я все еще получаю сообщение об ошибке SqlDataSource1 не существует в текущем контексте. Как мне сослаться на ‹asp: SqlDataSource ID = SqlDataSource1 runat = server DataSourceMode = DataSet ...›, который находится на моей странице search_results.aspx? Спасибо. - person flavour404; 24.06.2009
comment
Это странно. Вы уверены, что редактируете правильный код файла? Попробуйте получить доступ к другим элементам управления со страницы aspx в коде. Вы также можете проверить идентификаторы элемента управления, к которому вы получаете доступ. Попробуйте собрать код и удалите все ошибки сборки. Исправление ошибок сборки должно вернуть intellisense. - person Faheem; 24.06.2009
comment
Ах, я обнаружил ошибку, я удалил ключевое слово Inherits из определения страницы, и, следовательно, оно получало событие загрузки сверху ... Так много всего происходит. - person flavour404; 25.06.2009

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


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

DataTable table = view.ToTable();
DataSet ds = new DataSet();
ds.Tables.Add(table);
person Nation    schedule 11.05.2012