HtmlSelect.DataSource Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Quelle der Informationen ab, die an das HtmlSelect Steuerelement gebunden werden sollen, oder legt diese fest.
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
Eigenschaftswert
Eine IEnumerable oder IListSource eine Sammlung von Werten, die zum Bereitstellen von Daten für dieses Steuerelement verwendet werden. Der Standardwert ist null.
Ausnahmen
Die angegebene Datenquelle ist nicht mit oder IEnumerableIListSource, und sie ist nicht nullkompatibel.
Die Datenquelle kann nicht aufgelöst werden, da ein Wert sowohl für die DataSource Eigenschaft als auch für die DataSourceID Eigenschaft angegeben wird.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die DataSource Eigenschaft verwendet wird, um die Quelle der Informationen anzugeben, die an das HtmlSelect Steuerelement gebunden werden sollen.
<%@ 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>
Hinweise
Verwenden Sie die DataSource Eigenschaft, um die Datenquelle anzugeben, die an das HtmlSelect Steuerelement gebunden werden soll. Eine Datenquelle muss eine Sammlung sein, die entweder die System.Collections.IEnumerable Schnittstelle (z System.Data.DataView. B. , System.Collections.ArrayListoder System.Collections.Generic.List<T>) oder die IListSource Schnittstelle implementiert. Wenn Sie die DataSource Eigenschaft festlegen, müssen Sie den Code manuell schreiben, um die Datenbindung auszuführen.
Wenn die Datenquelle mehrere Datensätze enthält, z. B. ein System.Data.DataSet Objekt mit mehreren Tabellen, verwenden Sie die DataMember Eigenschaft, um anzugeben, welches Dataset an das Steuerelement gebunden werden soll.
Sie können angeben, welche Felder aus der Datenquelle an die ListItem.Text einzelnen ListItem.Value Elemente im Steuerelement gebunden werden sollen, indem Sie die Eigenschaften bzwDataValueField. eigenschaften DataTextField festlegen.
Alternativ können Sie die DataSourceID Eigenschaft verwenden, um automatisch eine Bindung an eine Datenquelle zu erstellen, die durch ein Datenquellensteuerelement dargestellt wird. Wenn Sie die DataSourceID Eigenschaft festlegen, wird das Datenauflistungssteuerelement automatisch an das angegebene Datenquellensteuerelement gebunden. Sie müssen keinen Code schreiben, der die DataBind Methode explizit aufruft.
Wenn Werte sowohl für die DataSource Eigenschaft als auch für die DataSourceID Eigenschaft angegeben werden, kann ASP.NET die Datenquelle nicht auflösen und eine System.Web.HttpException Ausnahme ausgelöst wird.