BaseDataBoundControl.DataSource Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает объект, из которого элемент управления, присоединенный к данным, извлекает свои данные.
public:
virtual property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.Bindable(true)]
[System.Web.UI.Themeable(false)]
public virtual object DataSource { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.Web.UI.Themeable(false)>]
member this.DataSource : obj with get, set
Public Overridable Property DataSource As Object
Значение свойства
Объект, представляющий источник данных, из которого элемент управления, присоединенный к данным, извлекает свои данные. Значение по умолчанию — null
.
- Атрибуты
Примеры
В следующем примере кода показано, как используется DataSource свойство элемента управления с привязкой к данным. В этом примере GridView элемент управления привязан к объекту DataSet . DataSource После задания DataBind свойства метод вызывается явным образом.
<%@ 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>
<%@ Page language="VB" %>
<%@ 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">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' 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 Not IsPostBack Then
' Declare the query string.
Dim queryString As String = _
"Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
' Run the query and bind the resulting DataSet
' to the GridView control.
Dim ds As DataSet = GetData(queryString)
If (ds.Tables.Count > 0) Then
AuthorsGridView.DataSource = ds
AuthorsGridView.DataBind()
Else
Message.Text = "Unable to connect to the database."
End If
End If
End Sub
Function GetData(ByVal queryString As String) As DataSet
' Retrieve the connection string stored in the Web.config file.
Dim connectionString As String = ConfigurationManager.ConnectionStrings("NorthWindConnectionString").ConnectionString
Dim ds As New DataSet()
Try
' Connect to the database and run the query.
Dim connection As New SqlConnection(connectionString)
Dim adapter As New SqlDataAdapter(queryString, Connection)
' Fill the DataSet.
Adapter.Fill(ds)
Catch ex As Exception
' The connection failed. Display an error message.
Message.Text = "Unable to connect to the database."
End Try
Return ds
End Function
</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>
Комментарии
При установке DataSource свойства ValidateDataSource вызывается метод . Кроме того, если элемент управления с привязкой к данным уже инициализирован, вызывается метод , OnDataPropertyChanged чтобы задать свойству RequiresDataBinding значение true
.
Значение для данного свойства нельзя задать с помощью тем или тем таблиц стилей. Дополнительные сведения см. в разделе ThemeableAttribute и ASP.NET темы и обложки.