Freigeben über


ListControl.DataValueField-Eigenschaft

Ruft das Feld der Datenquelle ab, das den Wert für jedes Listenelement bereitstellt, oder legt dieses fest.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
<ThemeableAttribute(False)> _
Public Overridable Property DataValueField As String
'Usage
Dim instance As ListControl
Dim value As String

value = instance.DataValueField

instance.DataValueField = value
[ThemeableAttribute(false)] 
public virtual string DataValueField { get; set; }
[ThemeableAttribute(false)] 
public:
virtual property String^ DataValueField {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_DataValueField ()

/** @property */
public void set_DataValueField (String value)
public function get DataValueField () : String

public function set DataValueField (value : String)

Eigenschaftenwert

System.String für die Angabe des Felds der Datenquelle, das den Wert für jedes Listenelement bereitstellt. Der Standardwert ist String.Empty.

Hinweise

Mit dieser Eigenschaft können Sie das Feld angeben, das den Wert für jedes Element in einem Listensteuerelement enthält.

Der Wert dieser Eigenschaft wird im Ansichtszustand gespeichert.

Diese Eigenschaft kann nicht durch Designs oder Stylesheetdesigns festgelegt werden. Weitere Informationen finden Sie unter ThemeableAttribute und Übersicht über ASP.NET-Designs und ASP.NET-Skins.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie das DataValueField für das RadioButtonList-Steuerelement angegeben wird. Das DataValueField ist der Wert jedes Elements in der RadioButtonList.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <html>
 <script language="VB" runat="server">

    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
        dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))
        dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
        
        Dim i As Integer
        For i = 0 To 8
            dr = dt.NewRow()
            
            dr(0) = i
            dr(1) = "Item " + i.ToString()
            dr(2) = DateTime.Now
            If (i Mod 2) <> 0 Then
                dr(3) = True
            Else
                dr(3) = False
            End If
            dr(4) = 1.23 *(i + 1)
            
            dt.Rows.Add(dr)
        Next i
        
        Dim dv As New DataView(dt)
        Return dv
    End Function

    Sub Page_Load(sender As Object, e As EventArgs)
        If Not IsPostBack Then
            RadioButtonList1.DataSource = CreateDataSource()
            RadioButtonList1.DataTextField = "StringValue"
            RadioButtonList1.DataValueField = "CurrencyValue"
            RadioButtonList1.DataBind()
        End If
    End Sub

    Sub Index_Changed(sender As Object, e As EventArgs)        
        Label1.Text = "You selected " & RadioButtonList1.SelectedItem.Text & _
            " with a value of : " & RadioButtonList1.SelectedItem.Value & "."
    End Sub
 
 </script>
 
 <body>
 
    <form runat=server>
 
       <asp:RadioButtonList id="RadioButtonList1" 
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>
 
       <br>
 
       <asp:Label id="Label1" runat="server"/>
 
    </form>
 
 </body>
 </html>
    
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <html>
 <script language="C#" runat="server">
 
    ICollection CreateDataSource() {
       DataTable dt = new DataTable();
       DataRow dr;
 
       dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
       dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
       dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
       dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
       dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
       for (int i = 0; i < 9; i++) {
          dr = dt.NewRow();
 
          dr[0] = i;
          dr[1] = "Item " + i.ToString();
          dr[2] = DateTime.Now;
          dr[3] = (i % 2 != 0) ? true : false;
          dr[4] = 1.23 * (i+1);
 
          dt.Rows.Add(dr);
       }
 
       DataView dv = new DataView(dt);
       return dv;
    }
 
    void Page_Load(Object sender, EventArgs e) {
       if (!IsPostBack) {
          RadioButtonList1.DataSource = CreateDataSource();
          RadioButtonList1.DataTextField="StringValue";
          RadioButtonList1.DataValueField="CurrencyValue";
          RadioButtonList1.DataBind();
       }
    }
 
    void Index_Changed(Object sender, EventArgs e) {
 
       Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text +
                     " with a value of $" + RadioButtonList1.SelectedItem.Value +
                     ".";
 
    }
 
 </script>
 
 <body>
 
    <form runat=server>
 
       <asp:RadioButtonList id="RadioButtonList1" 
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>
 
       <br>
 
       <asp:Label id="Label1" runat="server"/>
 
    </form>
 
 </body>
 </html>
    
<%@ Page Language="JScript" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <html>
 <script language="JSCRIPT" runat="server">

    function CreateDataSource() : ICollection{
        var dt : DataTable = new DataTable()
        var dr : DataRow
        
        dt.Columns.Add(new DataColumn("IntegerValue", System.Int32))
        dt.Columns.Add(new DataColumn("StringValue", System.String))
        dt.Columns.Add(new DataColumn("DateTimeValue", System.DateTime))
        dt.Columns.Add(new DataColumn("BoolValue", System.Boolean))
        dt.Columns.Add(new DataColumn("CurrencyValue", System.Double))
        
        var i : int
        for( i = 0; i < 9; i++){
            dr = dt.NewRow()
            
            dr("IntegerValue") = i
            dr("StringValue") = "Item " + i.ToString()
            dr("DateTimeValue") = DateTime.Now
            dr("BoolValue") = ((i % 2) != 0) ? true : false
            dr("CurrencyValue") = 1.23 *(i + 1)
            
            dt.Rows.Add(dr)
        }
        
        var dv : DataView = new DataView(dt)
        return dv
    }

    function Page_Load(sender : Object, e : EventArgs){
        if(!IsPostBack){
            RadioButtonList1.DataSource = CreateDataSource()
            RadioButtonList1.DataTextField = "StringValue"
            RadioButtonList1.DataValueField = "CurrencyValue"
            RadioButtonList1.DataBind()
        }
    }

    function Index_Changed(sender : Object, e : EventArgs){
        Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text
                    + " with a value of : " + RadioButtonList1.SelectedItem.Value + "."
    }
 
 </script>
 
 <body>
 
    <form runat=server>
 
       <asp:RadioButtonList id="RadioButtonList1" 
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>
 
       <br>
 
       <asp:Label id="Label1" runat="server"/>
 
    </form>
 
 </body>
 </html>
    

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ListControl-Klasse
ListControl-Member
System.Web.UI.WebControls-Namespace
ListControl.DataTextField-Eigenschaft