Aracılığıyla paylaş


HtmlSelect.DataSource Özellik

Tanım

Denetime bağlanacak HtmlSelect bilgi kaynağını alır veya ayarlar.

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

Özellik Değeri

Object

IEnumerable Bu denetime veri sağlamak için kullanılan bir değer koleksiyonunu içeren veyaIListSource. null varsayılan değerdir.

Özel durumlar

Belirtilen veri kaynağı veya IListSourceile IEnumerable uyumlu değil ve ile uyumlu değilnull.

Hem özellik hem de DataSource özellik DataSourceID için bir değer belirtildiğinden veri kaynağı çözümlenemiyor.

Örnekler

Aşağıdaki kod örneği, denetime bağlanacak HtmlSelect bilgi kaynağını belirtmek için özelliğinin nasıl kullanılacağını DataSource gösterir.

<%@ 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>

Açıklamalar

denetimine DataSource bağlanacak veri kaynağını belirtmek için HtmlSelect özelliğini kullanın. Veri kaynağı, arabirimini (, veya gibiSystem.Data.DataViewSystem.Collections.ArrayList) veya IListSource System.Collections.Generic.List<T>arabirimi uygulayan System.Collections.IEnumerable bir koleksiyon olmalıdır. özelliğini ayarladığınızda DataSource , veri bağlama gerçekleştirmek için kodu el ile yazmanız gerekir.

Veri kaynağı birden çok tablo içeren bir System.Data.DataSet nesne gibi birden çok veri kümesi içeriyorsa, denetime hangi veri kümesinin bağlanacağını belirtmek için özelliğini kullanın DataMember .

Ve özelliklerini sırasıyla ayarlayarak DataValueField DataTextField, veri kaynağından denetimdeki her öğenin ve ListItem.Value özelliklerine bağlanacak ListItem.Text alanları belirtebilirsiniz.

Alternatif olarak, bir veri kaynağı denetimi tarafından temsil edilen bir veri kaynağına otomatik olarak bağlanmak için özelliğini kullanabilirsiniz DataSourceID . özelliğini ayarladığınızda DataSourceID , veri listeleme denetimi otomatik olarak belirtilen veri kaynağı denetimine bağlanır. yöntemini açıkça çağıran DataBind kod yazmanız gerekmez.

Hem özellik hem de DataSource özellik DataSourceID için değerler belirtilirse, ASP.NET veri kaynağını çözümleyemez ve bir System.Web.HttpException özel durum oluşturulur.

Şunlara uygulanır

Ayrıca bkz.