2009-07-30 5 views
1

Je suis en train d'exécuter le code ci-dessous pour la liste l'élément sélectionné dans une case à cocherproblème tout en essayant de récupérer des données de case

au corps du courrier

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 je reçois ce qui suit erreur ..

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 

S'il vous plaît aider

+0

Pouvez-vous envoyer le code HTML pour montrer ce que les cases à cocher sont enveloppés dans? – cptScarlet

+0

De quel type est txt_panview0_ddinput1? –

+0

txt_panview0_ddinput1 n'est pas une listbox c'est une checkboxlist - –

Répondre

1

Typecast chaque élément l'itération à un CheckBox avant de vérifier si elle est cochée:

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 permettre la sélection de valeurs multiples, définissez la propriété SelectionMode du ListBox à Multiple:

<asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple"></asp:ListBox> 

ensuite itérer au-dessus des valeurs sélectionnées, utilisez ce qui suit:

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é sur la syntaxe VB.Net si mon code ne peut pas être parfait syntaxiquement

+0

Maintenant son don: System.InvalidCastException: Impossible de jeter l'objet de type 'System.Web.UI.WebControls.ListItem' taper 'System.Web.UI.WebControls.CheckBox'. à WebApplication1._Default.collectEmailBodyText() dans C: \ UseFormCode \ UseFormEnhWorking \ Default.aspx.vb: –

+0

ligne 271 Essayer: dim c comme CheckBox = Ctype (item.Value, CheckBox) –

+0

Non encore erreur: système. InvalidCastException: Impossible de convertir l'objet de type 'System.String' en type 'System.Web.UI.WebControls.CheckBox'. à WebApplication1._Default.collectEmailBodyText() dans C: \ UseFormCode \ UseFormEnhWorking \ Default.aspx.vb: ligne 271 –

Questions connexes