2011-08-17 4 views
12

컨트롤의 특성에서 DataSourceID와 DataSource의 차이점은 무엇입니까? 그것들을 서로 바꿔 사용할 수 있습니까?ASP.NET - DataSourceID와 DataSource의 차이점은 무엇입니까?

디자인 타임에 aspx 페이지에 입력하여 DataSource 속성을 설정하려고하면 "DataSource 속성을 선언적으로 설정할 수 없습니다."라는 예외가 발생합니다. 그러나 속성 창을 사용하여 DataSource을 변경하면 아무런 예외도 없습니다.

+1

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

답변

10

DataSource을 설정하여 datasourceID을 취소 할 필요는 ObjectDataSource를 제공 ​​데이터 소스 컨트롤 (.NET 수있는 실제 데이터 소스 객체를 참조 , SqlDataSource) 또는 DataTable 같은 실제 데이터 개체, 개체 컬렉션 등

DataSourceID은 .NET에서 제공하는 데이터 소스 컨트롤의 문자열 식별자이며이 속성은 데이터 바인딩 된 컨트롤과 해당 데이터 소스를 마크 업의 디자인 타임. 내부적으로 컨트롤은 제공된 ID를 사용하여 실제 데이터 소스 컨트롤을 조회합니다.

6

DataSourceID에는 ObjectDataSourceXmlDataSource과 같은 유형의 다른 데이터 소스 제어 ID가 할당 될 수 있습니다.

데이터 소스 개요 제어 :

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

뿐만 아니라 데이터 소스 컨트롤의 다양한 종류가 있습니다 또는 당신은뿐만 아니라 자신을 개발할 수 있습니다. 직접 같은 DataSet 또는 DataTable

1

DataSource: 가져 오거나 데이터 바인딩 된 컨트롤은 데이터 항목의 목록을 검색하는 개체를 설정을 제어 할 수있는 소스를 제공하고자 할 때

Datasource 사용됩니다. (BaseDataBoundControl에서 상 속됨)

DataSourceID: 데이터 바인딩 된 컨트롤에서 데이터 항목 목록을 검색 할 컨트롤의 ID를 가져 오거나 설정합니다. (DataBoundControl에서 상 속됨)

두 번째로 interchangeably을 사용할 수 있지만주의해서 사용해야합니다. 예 : 먼저 dataSourceID을 할당 한 후 다음 DataSource를 사용하기 전에 DataSource를 사용하려는 경우, 당신은 ControlID.DataSourceID = ""

관련 문제