2011-08-17 42 views
12

コントロールの属性のDataSourceIDとDataSourceの違いは何ですか?交換可能に使用できますか?ASP.NET - DataSourceIDとDataSourceの違いは何ですか?

デザイン時にDataSourceプロパティを設定しようとすると、aspxページに入力すると「DataSourceプロパティを宣言的に設定できません」という例外が表示されます。しかし、プロパティウィンドウを使用してDataSourceを変更しても例外はありません。

+1

http://blog.tylerholmes.com/2008/06/datasource-vs-datasourceid-internals.html –

答えて

10

DataSourceを設定することにより、datasourceIDをクリアする必要がすることは、ObjectDataSourceのよう提供されたデータソースコントロールを(.NETできる実際のデータソースオブジェクトを参照します、SqlDataSourceコントロール)又はデータテーブル等の実際のデータオブジェクトは、オブジェクトのコレクションなど

DataSourceIDは、.NETの文字列識別子は、データソースコントロールが提供され、このプロパティが存在するように、データバインドコントロールと対応するデータソースがで関連付けることができますマークアップ時の設計時間。内部的に、コントロールは提供されたIDを使用して実際のデータソースコントロールを検索します。

6

DataSourceIDには、ObjectDataSourceXmlDataSourceなどの他のデータソースコントロールのIDを割り当てることができます。

データソースの概要コントロール:

http://msdn.microsoft.com/en-us/library/ms227679.aspx

は、同様にデータソースコントロールの他のさまざまな種類があります。また、同様にあなた自身を開発することができます。あなたが直接、このようなDataSetDataTable

1

DataSource:データバインドコントロールがデータ項目一覧の取得元となるオブジェクトを取得または設定して制御するためのソースを与えたいとき

Datasourceが使用されています。 (BaseDataBoundControlから継承されます。)

DataSourceID:データバインドコントロールがデータアイテムのリストを取得するコントロールのIDを取得または設定します。 (DataBoundControlから継承)

第2に、interchangeablyを使用できますが、注意して使用する必要があります。例えばあなたが最初dataSourceIDを割り当て、DataSourceを使用したい場合は、DataSourceを使用する前に、あなたはControlID.DataSourceID = ""

関連する問題