HtmlSelect.DataValueField 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置数据源中要绑定到 Value 控件中各项的 HtmlSelect 属性的字段。
public:
virtual property System::String ^ DataValueField { System::String ^ get(); void set(System::String ^ value); };
public virtual string DataValueField { get; set; }
member this.DataValueField : string with get, set
Public Overridable Property DataValueField As String
属性值
数据源中要绑定到 Value 控件中各项的 HtmlSelect 属性的字段。 默认值为空字符串 (""),指示尚未设置该属性。
示例
下面的代码示例演示如何使用 DataSource 和 DataValueField 属性指定数据源中的字段,以绑定到 ListItem.Value 控件中 HtmlSelect 每个项的属性。
<%@ 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>
下面的代码示例演示如何使用 DataSourceID 和 DataValueField 属性指定数据源中的字段,以绑定到 ListItem.Value 控件中 HtmlSelect 每个项的属性。
<!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>
注解
使用 DataValueField 属性指定要从数据源绑定到 ListItem.Value 控件中每个项的属性的字段。 此属性通常用于为 ListItem.Value 不同于属性值的属性 ListItem.Text 提供值。
该 HtmlSelect 类提供两个属性,用于指定要绑定到的数据源。 该 DataSource 属性允许将控件绑定到 HtmlSelect 任何实现 IEnumerable (IListSource (例如 System.Data.DataView, System.Collections.ArrayList或) ) System.Collections.Generic.List<T> 的集合。 使用 DataSource 属性指定数据源时,必须显式调用 DataBind 该方法以将控件及其 DataValueField 属性绑定到数据源。
该 DataSourceID 属性允许将控件绑定到 HtmlSelect 表示数据源的数据源控件。 使用 DataSourceID 属性指定数据源时, HtmlSelect 控件及其 DataValueField 属性会自动绑定到数据源控件。 因此,无需显式调用 DataBind 该方法。