다음을 통해 공유


HtmlSelect.DataTextField 속성

정의

Text 컨트롤에 있는 각 항목의 HtmlSelect 속성에 바인딩할 데이터 소스의 필드를 가져오거나 설정합니다.

public:
 virtual property System::String ^ DataTextField { System::String ^ get(); void set(System::String ^ value); };
public virtual string DataTextField { get; set; }
member this.DataTextField : string with get, set
Public Overridable Property DataTextField As String

속성 값

String

Text 컨트롤에 있는 각 항목의 HtmlSelect 속성에 바인딩할 데이터 소스의 필드입니다. 기본값은 빈 문자열("")로, 이 속성이 설정되지 않았음을 나타냅니다.

예제

다음 코드 예제에서는 컨트롤에서 각 항목 HtmlSelectDataSource DataTextField 속성에 바인딩할 데이터 원본에서 필드를 지정 하는 속성을 사용 하는 ListItem.Text 방법을 보여 줍니다.

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

다음 코드 예제에서는 컨트롤에서 각 항목 HtmlSelectDataSourceID DataTextField 속성에 바인딩할 데이터 원본에서 필드를 지정 하는 속성을 사용 하는 ListItem.Value 방법을 보여 줍니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server" language="C#">
  
  void SubmitButton_Click (object sender, System.EventArgs e)
  {
    // Iterate through the list items in the 
    // HtmlSelect control to find the selected item.
    for (int i = 0; i <= Select1.Items.Count - 1; i++)
    {
      if (Select1.Items[i].Selected)
        // Display the Value property of the selected item.
        // This property is populated by the DataValueField property.
        Label1.Text = "The Product ID is " + Select1.Items[i].Value;
    }
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>HtmlSelect.DataValueField</title>
</head>
<body>
  <form id="Form1" runat="server">  

    <h3> HtmlSelect.DataValueField Example 2</h3>

    <p>Select an item from the list:</p>

    <select id="Select1"
      name="Select1"             
      datasourceid="SqlDataSource1"
      datatextfield="ProductName"
      datavaluefield="ProductID"
      runat="server">
    </select>
       
    <asp:sqldatasource id="SqlDataSource1"          
          connectionstring="workstation id=localhost;integrated security=SSPI;initial catalog=Northwind"
      selectcommand="SELECT * FROM [Products] Where ProductID <= 5"
      runat="server">
    </asp:sqldatasource>
    
    <asp:button id="SubmitButton"
      text="Submit"
      onclick="SubmitButton_Click"
      runat="Server">
    </asp:button>
    
    <br /><br />
    
    <asp:label id="Label1"
      runat="Server">
    </asp:label>

   </form>

</body>

</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server" language="vb">
  
  Sub SubmitButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim i As Integer
    ' Iterate through the list items in the 
    ' HtmlSelect control to find the selected item.
    For i = 0 To Select1.Items.Count - 1
      If Select1.Items(i).Selected Then
        ' Display the Value property of the selected item.
        ' This property is populated by the DataValueField property.
        Label1.Text = "The Product ID is " & Select1.Items(i).Value
      End If
    Next i
  
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>HtmlSelect.DataValueField</title>
</head>
<body>
  <form id="Form1" runat="server">  

    <h3> HtmlSelect.DataValueField Example 2</h3>

    <p>Select an item from the list:</p>

    <select id="Select1"
      name="Select1"             
      datasourceid="SqlDataSource1"
      datatextfield="ProductName"
      datavaluefield="ProductID"
      runat="server">
    </select>
       
    <asp:sqldatasource id="SqlDataSource1" 
          connectionstring="workstation id=localhost;integrated security=SSPI;initial catalog=Northwind"
      selectcommand="SELECT * FROM [Products] Where ProductID <= 5"
      runat="server">
    </asp:sqldatasource>
    
    <asp:button id="SubmitButton"
      text="Submit"
      onclick="SubmitButton_Click"
      runat="Server">
    </asp:button>
    
    <br /><br />
    
    <asp:label id="Label1"
      runat="Server">
    </asp:label>

   </form>

</body>

</html>

설명

DataTextField 속성을 사용하여 컨트롤에 있는 각 항목의 속성에 바인딩할 데이터 원본의 필드를 지정할 수 ListItem.Text 있습니다. 이 속성은 일반적으로 속성 값과 다른 속성의 ListItem.Text ListItem.Value 값을 제공하는 데 사용됩니다.

이 클래스는 HtmlSelect 바인딩할 데이터 원본을 지정하기 위한 두 가지 속성을 제공합니다. 이 DataSource 속성을 사용하면 컨트롤을 구현 System.Collections.IEnumerable 하는 모든 컬렉션(예: System.Data.DataView, System.Collections.ArrayList또는 System.ComponentModel.IListSource System.Collections.Generic.List<T>)에 바인딩 HtmlSelect 할 수 있습니다. 속성을 사용하여 DataSource 데이터 원본을 지정하는 경우 메서드를 명시적으로 호출 DataBind 하여 컨트롤과 해당 DataTextField 속성을 데이터 원본에 바인딩해야 합니다.

DataSourceID 속성을 사용하면 데이터 원본을 HtmlSelect 나타내는 데이터 소스 컨트롤에 컨트롤을 바인딩할 수 있습니다. 속성을 사용하여 DataSourceID 데이터 원본 HtmlSelect 을 지정하면 컨트롤과 해당 속성이 DataTextField 지정된 데이터 원본 컨트롤에 자동으로 바인딩됩니다. 따라서 메서드를 명시적으로 호출 DataBind 할 필요가 없습니다.

적용 대상

추가 정보