BaseDataBoundControl.DataSource Property
Gets or sets the object from which the data-bound control retrieves its list of data items.
Assembly: System.Web (in System.Web.dll)
[BindableAttribute(true)] [ThemeableAttribute(false)] public virtual Object DataSource { get; set; }
Property Value
Type: System.ObjectAn object that represents the data source from which the data-bound control retrieves its data. The default is null.
When you set the DataSource property, the ValidateDataSource method is called. In addition, if the data-bound control has already been initialized, the OnDataPropertyChanged method is called to set the RequiresDataBinding property to true.
This property cannot be set by themes or style sheet themes. For more information, see ThemeableAttribute and ASP.NET Themes and Skins.
The following code example demonstrates how the DataSource property of a data-bound control is used. In this example, the GridView control is bound to a DataSet object. After the DataSource property is set, the DataBind method is called explicitly.
<%@ Page language="C#" %> <%@ import namespace="System.Data" %> <%@ import namespace="System.Data.SqlClient" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> void Page_Load(Object sender, EventArgs e) { // This example uses Microsoft SQL Server and connects // to the Northwind sample database. The data source needs // to be bound to the GridView control only when the // page is first loaded. Thereafter, the values are // stored in view state. if(!IsPostBack) { // Declare the query string. String queryString = "Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"; // Run the query and bind the resulting DataSet // to the GridView control. DataSet ds = GetData(queryString); if (ds.Tables.Count > 0) { AuthorsGridView.DataSource = ds; AuthorsGridView.DataBind(); } else { Message.Text = "Unable to connect to the database."; } } } DataSet GetData(String queryString) { // Retrieve the connection string stored in the Web.config file. String connectionString = ConfigurationManager.ConnectionStrings["NorthWindConnectionString"].ConnectionString; DataSet ds = new DataSet(); try { // Connect to the database and run the query. SqlConnection connection = new SqlConnection(connectionString); SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection); // Fill the DataSet. adapter.Fill(ds); } catch(Exception ex) { // The connection failed. Display an error message. Message.Text = "Unable to connect to the database."; } return ds; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>GridView DataBind Example</title> </head> <body> <form id="form1" runat="server"> <h3>GridView DataBind Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <br/> <asp:gridview id="AuthorsGridView" autogeneratecolumns="true" runat="server"> </asp:gridview> </form> </body> </html>
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Am just curious to know why DataBind method does not take a parameter of data source like Control.DataBind(objDataSource).
Why it always requires two lines of code to Bind a Dropdownlist like control to a Datasource, could you please explain -
Tarriq Ferrose Khan
-http://techietarriq.blogspot.com/