HtmlSelect.DataSource Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia źródło informacji w celu powiązania z kontrolką HtmlSelect .
public:
virtual property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
public virtual object DataSource { get; set; }
member this.DataSource : obj with get, set
Public Overridable Property DataSource As Object
Wartość właściwości
Element IEnumerable lub IListSource zawierający kolekcję wartości używanych do dostarczania danych do tej kontrolki. Wartość domyślna to null
.
Wyjątki
Określone źródło danych nie jest zgodne z elementem IEnumerable lub IListSource, a nie null
.
Nie można rozpoznać źródła danych, ponieważ wartość jest określona zarówno DataSource dla właściwości, jak i DataSourceID właściwości.
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą DataSource właściwości określić źródło informacji, które mają być powiązane z kontrolką HtmlSelect .
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> HtmlSelect Example </title>
<script runat="server">
void Page_Load (Object sender, EventArgs e)
{
// Bind the HtmlSelect control to a data source when the page is initially loaded.
if (!IsPostBack)
{
// Open a connection to the database and run the query.
// Note that the connection string may vary depending on your
// database server settings.
string ConnectString = "server=localhost;database=pubs;integrated security=SSPI";
string QueryString = "select * from authors";
SqlConnection myConnection = new SqlConnection(ConnectString);
SqlDataAdapter myCommand = new SqlDataAdapter(QueryString, myConnection);
// Create a dataset to store the query results.
DataSet ds = new DataSet();
myCommand.Fill(ds, "Authors");
// Bind the HtmlSelect control to the data source.
Select1.DataSource = ds;
Select1.DataTextField = "au_fname";
Select1.DataValueField = "au_fname";
Select1.DataBind();
}
}
void Button_Click (Object sender, EventArgs e)
{
// Display the selected items.
Label1.Text = "You selected:";
for (int i=0; i<=Select1.Items.Count - 1; i++)
{
if (Select1.Items[i].Selected)
Label1.Text += "<br /> - " + Select1.Items[i].Text;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlSelect Example </h3>
Select items from the list. <br />
Use the Control or Shift key to select multiple items. <br /><br />
<select id="Select1"
multiple="true"
runat="server"/>
<br /><br />
<button id="Button1"
onserverclick="Button_Click"
runat="server">
Submit
</button>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> HtmlSelect Example </title>
<script runat="server">
Sub Page_Load (sender As Object, e As EventArgs)
' Bind the HtmlSelect control to a data source when the page is initially loaded.
If Not IsPostBack Then
' Open a connection to the database and run the query.
' Note that the connection string may vary depending on your
' database server settings.
Dim ConnectString As String = "server=localhost;database=pubs;integrated security=SSPI"
Dim QueryString As String = "select * from authors"
Dim myConnection As SqlConnection = New SqlConnection(ConnectString)
Dim myCommand As SqlDataAdapter = New SqlDataAdapter(QueryString, myConnection)
' Create a dataset to store the query results.
Dim ds As DataSet = New DataSet()
myCommand.Fill(ds, "Authors")
' Bind the HtmlSelect control to the data source.
Select1.DataSource = ds
Select1.DataTextField = "au_fname"
Select1.DataValueField = "au_fname"
Select1.DataBind()
End If
End Sub
Sub Button_Click (sender As Object, e As EventArgs)
Dim i As Integer
Label1.Text = "You selected:"
For i = 0 To Select1.Items.Count - 1
If Select1.Items(i).Selected Then
Label1.Text = Label1.Text & "<br /> - " & Select1.Items(i).Text
End If
Next i
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlSelect Example </h3>
Select items from the list. <br />
Use the Control or Shift key to select multiple items. <br /><br />
<select id="Select1"
multiple="true"
runat="server"/>
<br /><br />
<button id="Button1"
onserverclick="Button_Click"
runat="server">
Submit
</button>
<br /><br />
<asp:Label id="Label1"
runat="server"/>
</form>
</body>
</html>
Uwagi
Użyj właściwości , DataSource aby określić źródło danych do powiązania z kontrolką HtmlSelect . Źródło danych musi być kolekcją, która implementuje System.Collections.IEnumerable interfejs (taki jak System.Data.DataView, System.Collections.ArrayListlub System.Collections.Generic.List<T>) lub IListSource interfejs. Po ustawieniu DataSource właściwości należy ręcznie napisać kod, aby wykonać powiązanie danych.
Jeśli źródło danych zawiera wiele zestawów danych, takich jak System.Data.DataSet obiekt z wieloma tabelami, użyj DataMember właściwości , aby określić zestaw danych, który ma zostać powiązany z kontrolką.
Możesz określić, które pola ze źródła danych mają być powiązane ListItem.Text z właściwościami i ListItem.Value każdego elementu w kontrolce, ustawiając DataTextField odpowiednio właściwości i DataValueField .
Alternatywnie można użyć DataSourceID właściwości , aby automatycznie powiązać ze źródłem danych reprezentowanym przez kontrolę źródła danych. Po ustawieniu właściwości kontrolka DataSourceID listy danych automatycznie wiąże się z określoną kontrolą źródła danych. Nie musisz pisać kodu, który jawnie wywołuje metodę DataBind .
Jeśli wartości są określone zarówno DataSource dla właściwości, jak i DataSourceID właściwości, ASP.NET nie może rozpoznać źródła danych i System.Web.HttpException zgłaszany jest wyjątek.