2009-06-23 61 views
2

我在我的aspx頁面上有一個asp:SqlDataSource ID =「SqlDataSource1」工具,我想在後面的c#sharp代碼中執行的是傳輸數據源返回的記錄並將它們放入DataSet,以便我可以添加分頁到我的頁面,我該怎麼做,到目前爲止我的嘗試失敗了?asp:SqlDataSource到數據集項目

我嘗試到目前爲止一直沿着線:

的DataSet項目=新的DataSet(); Items = SqlDataSource1.Data();

但是我得到的錯誤是SqlDataSource1控件在這個上下文中是不可訪問的,所以很顯然,intellisense沒有選擇它,所以'Data()'位是我完成的小說...

謝謝,R

回答

3

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

希望這有助於!

+0

好吧,這是有道理的,但在後面的文件我的C#代碼,我仍然得到錯誤SqlDataSource1不會在當前的背景下存在。 如何引用我的search_results.aspx頁面上的 謝謝。 – flavour404 2009-06-24 01:44:23

2

這應該工作! :)


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

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