Essentiellement, vous ne pouvez pas faire exactement ce que vous voulez. En effet, Asp: Listitem ne contient pas l'événement Databinding. Le RadioButtonList lui-même supporte cependant cela.
Alors voici le plus proche que je pourrais venir à ce que vous vouliez.
Voici le code HTML
<asp:RadioButtonList runat="server" ID="rbl" DataSource='<%# EnumValues %>' DataValueField='Value' DataTextField='Key' />
Voici le code derrière
Public Enum values As Integer
first = 1
second = 2
third = 3
fourth = 4
fifth = 5
End Enum
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Page.DataBind()
End Sub
Public ReadOnly Property EnumValues() As System.Collections.Generic.Dictionary(Of String, String)
Get
Dim val As values
Dim names As Array
Dim values As Array
Dim stuff As Dictionary(Of String, String) = New Dictionary(Of String, String)
names = val.GetNames(val.GetType)
values = val.GetValues(val.GetType)
build the final results
For i As Integer = 0 To names.Length - 1
stuff.Add(names(i), values(i))
Next
Return stuff
End Get
End Property
Êtes-vous essayer d'obtenir un bouton radio pour chaque valeur dans votre ENUM? – cptScarlet
@cptScarlet J'essaye de placer la valeur de listitem à la valeur mon énumération pour chacune de mes valeurs d'énumération en utilisant la syntaxe déclarative. Cette dernière partie est ce qui le rend délicat. –