HtmlSelect.DataTextField 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 das Feld aus der Datenquelle ab, das an die Text-Eigenschaft der einzelnen Elemente im HtmlSelect-Steuerelement gebunden werden soll, oder legt dieses fest.
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
Eigenschaftswert
Das Feld aus der Datenquelle, das an die Text-Eigenschaft der einzelnen Elemente im HtmlSelect-Steuerelement gebunden werden soll. Der Standardwert ist eine leere Zeichenfolge (""), die angibt, dass diese Eigenschaft nicht festgelegt wurde.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die DataSource Eigenschaften und DataTextField verwendet werden, um das Feld aus der Datenquelle anzugeben, das an die ListItem.Text -Eigenschaft jedes Elements im HtmlSelect Steuerelement gebunden werden soll.
<%@ 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>
Im folgenden Codebeispiel wird veranschaulicht, wie die DataSourceID Eigenschaften und DataTextField verwendet werden, um das Feld aus der Datenquelle anzugeben, das an die ListItem.Value -Eigenschaft jedes Elements im HtmlSelect Steuerelement gebunden werden soll.
<!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>
Hinweise
Verwenden Sie die DataTextField -Eigenschaft, um anzugeben, welches Feld aus der Datenquelle an die ListItem.Text -Eigenschaft der einzelnen Elemente im Steuerelement gebunden werden soll. Diese Eigenschaft wird häufig verwendet, um einen Wert für die Eigenschaft bereitzustellen, der ListItem.Text sich vom Wert der ListItem.Value Eigenschaft unterscheidet.
Die HtmlSelect -Klasse stellt zwei Eigenschaften zum Angeben der Datenquelle bereit, an die eine Bindung gebunden werden soll. Mit DataSource der -Eigenschaft können Sie ein Steuerelement an eine HtmlSelect beliebige Auflistung binden, die die System.Collections.IEnumerable Schnittstellen oder System.ComponentModel.IListSource implementiert (z System.Data.DataView. B. , System.Collections.ArrayListoder System.Collections.Generic.List<T>). Wenn Sie die DataSource -Eigenschaft verwenden, um die Datenquelle anzugeben, müssen Sie explizit die DataBind -Methode aufrufen, um das Steuerelement und seine DataTextField Eigenschaft an die Datenquelle zu binden.
Mit DataSourceID der -Eigenschaft können Sie ein HtmlSelect Steuerelement an ein Datenquellensteuerelement binden, das eine Datenquelle darstellt. Wenn Sie die DataSourceID -Eigenschaft verwenden, um die Datenquelle anzugeben, werden das Steuerelement und seine HtmlSelectDataTextField Eigenschaft automatisch an das angegebene Datenquellensteuerelement gebunden. Daher müssen Sie die DataBind -Methode nicht explizit aufrufen.