Freigeben über


HtmlSelect.DataSource-Eigenschaft

Ruft die Datenquelle ab, die an das HtmlSelect-Steuerelement gebunden werden soll oder legt diese fest.

Namespace: System.Web.UI.HtmlControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Overridable Property DataSource As Object
'Usage
Dim instance As HtmlSelect
Dim value As Object

value = instance.DataSource

instance.DataSource = value
public virtual Object DataSource { get; set; }
public:
virtual property Object^ DataSource {
    Object^ get ();
    void set (Object^ value);
}
/** @property */
public Object get_DataSource ()

/** @property */
public void set_DataSource (Object value)
public function get DataSource () : Object

public function set DataSource (value : Object)

Eigenschaftenwert

Ein IEnumerable oder ein IListSource, das eine Werteauflistung zum Bereitstellen von Daten für dieses Steuerelement enthält. Der Standardwert ist NULL (Nothing in Visual Basic).

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Die angegebene Datenquelle ist entweder mit System.Collections.IEnumerable oder mit System.ComponentModel.IListSource nicht kompatibel, und sie ist nicht NULL (Nothing in Visual Basic).

HttpException

Die Datenquelle kann nicht aufgelöst werden, weil sowohl für die DataSource-Eigenschaft als auch für die DataSourceID-Eigenschaft ein Wert angegeben wurde.

Hinweise

Mit der DataSource-Eigenschaft geben Sie die Datenquelle an, die an das HtmlSelect-Steuerelement gebunden werden soll. Eine Datenquelle muss ein Objekt sein, das entweder die System.Collections.IEnumerable-Schnittstelle (z. B. System.Data.DataView, System.Collections.ArrayList oder System.Collections.Hashtable) oder die IListSource-Schnittstelle implementiert. Wenn Sie die DataSource-Eigenschaft festlegen, müssen Sie den Code zum Durchführen der Datenbindung manuell schreiben.

Wenn die Datenquelle mehrere Datengruppen enthält, z. B. ein System.Data.DataSet-Objekt mit mehreren Tabellen, geben Sie mit der DataMember-Eigenschaft an, welche Datengruppe an das Steuerelement gebunden werden soll.

Sie können angeben, welche Felder der Datenquelle an die ListItem.Text-Eigenschaft und die ListItem.Value-Eigenschaft der einzelnen Elemente im Steuerelement gebunden werden sollen, indem Sie die DataTextField-Eigenschaft bzw. die DataValueField-Eigenschaft festlegen.

Sie können auch mit der DataSourceID-Eigenschaft automatisch eine Bindung zu einer durch ein Datenquellensteuerelement dargestellten Datenquelle herstellen. Wenn Sie die DataSourceID-Eigenschaft festlegen, wird das Datenlistensteuerelement automatisch an das angegebene Datenquellensteuerelement gebunden. Sie müssen keinen Code schreiben, der die DataBind-Methode explizit aufruft.

Wenn sowohl für die DataSource-Eigenschaft als auch für die DataSourceID-Eigenschaft Werte angegeben werden, kann ASP.NET die Datenquelle nicht auflösen, und es wird eine System.Web.HttpException-Ausnahme ausgelöst.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie mit der DataSource-Eigenschaft die Datenquelle angegeben wird, die an das HtmlSelect-Steuerelement gebunden werden soll.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<html>

<head>

   <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> &nbsp;&nbsp; - " & Select1.Items(i).Text
            End If

         Next i

      End Sub

   </script>

</head>

<body>

   <form 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="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<html>

<head>

   <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> &nbsp;&nbsp; - " + Select1.Items[i].Text;
         }

      }

   </script>

</head>

<body>

   <form 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="JScript" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<html>

<head>

   <script runat="server">

      function Page_Load (sender : Object, e : EventArgs) : void
      {

        // 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. 
           var ConnectString : String = "server=localhost;database=pubs;integrated security=SSPI";
           var QueryString : String = "select * from authors";

           var myConnection : SqlConnection = new SqlConnection(ConnectString);
           var myCommand : SqlDataAdapter = new SqlDataAdapter(QueryString, myConnection);

           // Create a dataset to store the query results.
           var ds : 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();
        }

      }

      function Button_Click (sender : Object, e : EventArgs) : void
      {
       
         // Display the selected items. 
         Label1.Text = "You selected:";

         for (var i: int=0; i<=Select1.Items.Count - 1; i++)
         {
            if (Select1.Items[i].Selected)
               Label1.Text += "<br> &nbsp;&nbsp; - " + Select1.Items[i].Text;
         }

      }

   </script>

</head>

<body>

   <form 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>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HtmlSelect-Klasse
HtmlSelect-Member
System.Web.UI.HtmlControls-Namespace
HtmlSelect.DataMember-Eigenschaft
System.Data.DataSet
DataTextField
ListItem.Text
DataValueField
ListItem.Value
DataSourceID

Weitere Ressourcen

HTML-Serversteuerelemente