2009-06-23 10 views
2

私はasp:SqlDataSource ID = "SqlDataSource1"ツールをaspxページに用意していますが、C#のシャープコードの中で、データソースから返されたレコードを転送し、データセット、ページにページングを追加できるように、どうすればいいですか?これまでの試みは失敗しましたか?asp:DataSetの項目へのSqlDataSource

私の試みは、これまでの線に沿っていた:

のDataSetアイテム=新しいデータセット(); 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

[OK]を、それは理にかなっているが、ファイルの後ろに私の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);