【发布时间】:2011-10-28 14:48:15
【问题描述】:
DataSourceID 和 DataSource 从控件的属性有什么区别?我可以互换使用它们吗?
当我尝试在设计时设置 DataSource 属性时,通过在 aspx 页面上键入它,我收到一个异常,提示“无法以声明方式设置 'DataSource' 属性。”。但是当我使用属性窗口更改DataSource时,它也不例外。
【问题讨论】:
标签: asp.net datasource
DataSourceID 和 DataSource 从控件的属性有什么区别?我可以互换使用它们吗?
当我尝试在设计时设置 DataSource 属性时,通过在 aspx 页面上键入它,我收到一个异常,提示“无法以声明方式设置 'DataSource' 属性。”。但是当我使用属性窗口更改DataSource时,它也不例外。
【问题讨论】:
标签: asp.net datasource
DataSourceID 可以分配其他类型的数据源控件的 ID,例如 ObjectDataSource XmlDataSource 。
数据源控件概述:
http://msdn.microsoft.com/en-us/library/ms227679.aspx
还有各种其他类型的数据源控件,或者您也可以开发自己的。
Datasource 用于当你想直接给源控制,如DataSet 或DataTable
【讨论】:
DataSource: 获取或设置数据绑定控件从中检索其数据项列表的对象。 (继承自BaseDataBoundControl。)
DataSourceID: 获取或设置控件的 ID,数据绑定控件从中检索其数据项列表。 (继承自DataBoundControl。)
其次它们可以使用interchangeably,但你必须小心使用。例如如果你先分配dataSourceID,然后想使用DataSource,那么在使用DataSource之前,你必须通过设置ControlID.DataSourceID = ""来清除datasourceID
【讨论】:
DataSource是指实际数据源对象,可以是.NET提供的数据源控件(如ObjectDataSource、SqlDataSource),也可以是DataTable、对象集合等实际数据对象。
DataSourceID 是 .NET 提供的数据源控件的字符串标识符,并且该属性存在以便可以在设计时在标记中关联数据绑定控件和相应的数据源。在内部,控件将使用提供的 id 查找实际的数据源控件。
【讨论】: