使用vb.net将checkboxlist值保存到xml

时间:2010-07-19 16:58:39

标签: xml vb.net checkboxlist

我有一些像这样的复选框:

    <asp:CheckBoxList ID="G1" runat="server">
                        <asp:ListItem Value="Comunicações Unificadas" Text="Comunicações Unificadas - UCoIP"></asp:ListItem>
                        <asp:ListItem Value="Gestão Documental" Text="Gestão Documental - iPortalDoc"></asp:ListItem>
                        <asp:ListItem Value="Gestão Conteúdos Web" Text="Gestão de Conteúdos Web"></asp:ListItem>
                        <asp:ListItem Value="Promoção Websites" Text="Promoção de Websites"></asp:ListItem>
                        <asp:ListItem Value="Serviços de Consultoria" Text="Serviços de Consultoria"></asp:ListItem>
</asp:CheckBoxList>

提交表单时包含它们,我想将所有选定的值保存在xml文件中。

目前,如果我选择多个要提交的值,则在xml文件中我只会选择第一个,其他值不会出现在文件中。

我正在以这种方式保存xml文件中的值:

Dim doc As New XmlDocument()         doc.Load(LocalizacaoFicheiro)

    Dim visitor As XmlElement = doc.CreateElement("Cliente")

    Dim res1 As XmlElement = doc.CreateElement("Resposta1")
    res1.InnerText = G1.SelectedValue.ToString


    visitor.AppendChild(res1)

    doc.DocumentElement.AppendChild(visitor)

    doc.Save(LocalizacaoFicheiro)

我需要改变将数据保存到xml的方式,对吗?

1 个答案:

答案 0 :(得分:0)

CheckBoxList.SelectedValue只是一个值,因此当您使用该属性时,您只获得一个值。 From its definition它旨在为您提供第一个选定的值:

  

如果选择了多个项目,则返回索引最低的所选项目的值。

使用CheckBoxList.Items代替循环遍历所有这些内容并检查ListItem.Selected属性以查看它们是否已被选中。 (或者使用等效的LINQ表达式,无论你喜欢哪种。)