BaseDataBoundControl.DataSource Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger det objekt från vilket den databundna kontrollen hämtar sin lista över dataobjekt.
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
Egenskapsvärde
Ett objekt som representerar datakällan från vilken den databundna kontrollen hämtar sina data. Standardvärdet är null.
- Attribut
Exempel
I följande kodexempel visas hur egenskapen för DataSource en databunden kontroll används. I det här exemplet GridView är kontrollen bunden till ett DataSet objekt. När egenskapen DataSource har angetts DataBind anropas metoden explicit.
<%@ 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>
Kommentarer
När du anger egenskapen DataSource anropas ValidateDataSource metoden. Om den databundna kontrollen redan har initierats OnDataPropertyChanged anropas dessutom metoden för att ange RequiresDataBinding egenskapen till true.
Den här egenskapen kan inte anges med teman eller formatmallsteman. Mer information finns i ThemeableAttribute and ASP.NET Themes and Skins.