2009-06-23 3 views
2

asp : SqlDataSource ID = "SqlDataSource1"도구는 aspx 페이지에 있습니다. C#의 예리한 코드에서 수행하려는 작업은 데이터 소스에서 반환 한 레코드를 전송하여 DataSet, 그래서 내 페이지에 페이징을 추가 할 수 있습니다, 어떻게합니까, 내 시도는 지금까지 실패 했나요?!asp : DataSet에 대한 SqlDataSource 항목

나의 시도는 지금까지의 라인을 따라왔다 :

데이터 집합 항목 = 새로운 데이터 집합(); Items = SqlDataSource1.Data();

하지만 오류는 SqlDataSource1 컨트롤이이 컨텍스트에서 액세스 할 수 없기 때문에 Intellisense가 데이터를 가져 오지 않아서 'Data()'비트가 내 부분에 완전한 픽션임을 나타냅니다 ...

감사합니다. R

답변

3

flavour404 컨트롤을 올바르게 설정하면 오류가 발생하지 않습니다. 방금 시나리오를 테스트했고 언급 한 오류없이 작동합니다.

SqlDataSource1에는 Data 메서드가 없으므로 Select() 메서드를 찾고 DataSet을 반환하지 않을 수 있습니다. SqlDataSource.DataSourceMode 속성을 'DataSet'으로 설정하면 DataView 개체가 생성됩니다. 자세한 내용은 MSDN을 읽어

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

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

아래의 샘플을 참조하십시오

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

희망이 도움이!

+0

좋아, 그건 의미가 있지만, 파일 뒤에 내 C# 코드에서 나는 아직도 SqlDataSource1이 현재 컨텍스트에 존재하지 않는 오류가 발생합니다. 내 search_results.aspx 페이지에있는 을 어떻게 참조합니까? 감사합니다. – flavour404

+0

오, 그리고 위의 감사합니다, 정말 도움이되었다. – flavour404

+0

이상합니다. 올바른 코드 숨김 파일을 편집 하시겠습니까? 코드에서 aspx 페이지의 다른 컨트롤에 액세스 해보십시오. 또한 액세스중인 제어의 ID를 확인할 수도 있습니다. 코드를 작성하고 빌드 오류를 제거하십시오. 건물 오류를 수정하면 인텔리 센스가 회복됩니다. – Faheem

2

이렇게하면됩니다. :)


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

DataTable table = view.ToTable(); 
DataSet ds = new DataSet(); 
ds.Tables.Add(table); 
관련 문제