HtmlSelect.DataTextField Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger fältet från datakällan för att binda till egenskapen för Text varje objekt i HtmlSelect kontrollen.
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
Egenskapsvärde
Fältet från datakällan som ska bindas till Text egenskapen för varje objekt i HtmlSelect kontrollen. Standardvärdet är en tom sträng (""), som anger att egenskapen inte har angetts.
Exempel
Följande kodexempel visar hur du använder DataSource egenskaperna och DataTextField för att ange fältet från datakällan för att binda till egenskapen för ListItem.Text varje objekt i HtmlSelect kontrollen.
<%@ 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>
Följande kodexempel visar hur du använder DataSourceID egenskaperna och DataTextField för att ange fältet från datakällan för att binda till egenskapen för ListItem.Value varje objekt i HtmlSelect kontrollen.
<!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>
Kommentarer
Använd egenskapen DataTextField för att ange vilket fält från datakällan som ska bindas till egenskapen för ListItem.Text varje objekt i kontrollen. Den här egenskapen används ofta för att ange ett värde för egenskapen ListItem.Text som skiljer sig från värdet för ListItem.Value egenskapen.
Klassen HtmlSelect innehåller två egenskaper för att ange den datakälla som ska bindas till. Med DataSource egenskapen kan du binda en HtmlSelect kontroll till alla samlingar som implementerar gränssnitten System.Collections.IEnumerable eller System.ComponentModel.IListSource (till exempel System.Data.DataView, System.Collections.ArrayListeller System.Collections.Generic.List<T>). När du använder DataSource egenskapen för att ange datakällan måste du uttryckligen DataBind anropa metoden för att binda kontrollen och dess DataTextField egenskap till datakällan.
Med DataSourceID egenskapen kan du binda en HtmlSelect kontroll till en datakälla som representerar en datakälla. När du använder DataSourceID egenskapen för att ange datakällan HtmlSelect binder kontrollen och dess DataTextField egenskap automatiskt till den angivna datakällans kontroll. Därför behöver du inte uttryckligen DataBind anropa metoden.