Problème lors de la tentative de récupération des données de la case à cocher
Question
J'essaie d'exécuter le code ci-dessous pour répertorier l'élément sélectionné dans une case à cocher
dans le corps du mail
Dim CheckedValues As String
For Each item In txt_panview0_ddinput1.Items
If item.checked Then
checkedValues = checkedValues & item.selectedValue
End If
Next
If Not String.IsNullOrEmpty(checkedValues) Then
checkedValues = checkedValues.Substring(1)
End If
tempCollector = tempCollector + "<br>" + "Area Name" + ": " + checkedValues
Mais j'obtiens l'erreur suivante ..
System.MissingMemberException: Public member 'checked' on type 'ListItem' not found.
at Microsoft.VisualBasic.CompilerServices.Symbols.Container.GetMembers(String& MemberName,
Boolean ReportErrors) at Microsoft.VisualBasic.CompilerServices.NewLateBinding.
LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[]
TypeArguments, Boolean[] CopyBack) at WebApplication1._Default.collectEmailBodyText()
in C:\UseFormCode\UseFormEnhWorking\Default.aspx.vb:line 271
Aidez s'il vous plaît
La solution
Convertissez chaque élément de l'itération en CheckBox
avant de vérifier s'il est coché:
For Each item In txt_panview0_ddinput1.Items
dim c as CheckBox = Ctype(item.Value, CheckBox)
If c.checked Then
checkedValues = checkedValues & item.selectedValue
End If
Next
Pour activer la sélection de plusieurs valeurs, définissez la propriété SelectionMode
du ListBox
sur Multiple
:
<asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple"></asp:ListBox>
Ensuite, pour parcourir les valeurs sélectionnées, utilisez les éléments suivants:
For Each item as ListItem In txt_panview0_ddinput1.Items
If item.Selected Then
CheckedValues = CheckedValues & item.Value
End If
Next
PS: je suis un peu rouillé par la syntaxe VB.Net, mon code n’est donc peut-être pas parfait sur le plan syntaxique
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow