0

我有一些这样的复选框列表:

    <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 的方式,对吗?

4

1 回答 1

0

CheckBoxList.SelectedValue只是一个值,所以当你使用该属性时,当然你只会得到一个值。从它的定义来看,它的设计目的是只给你第一个选择的值:

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

改为使用CheckBoxList.Items,遍历所有这些并检查ListItem.Selected属性以查看它们是否已被选中。(或者使用等效的 LINQ 表达式,无论您喜欢哪个。)

于 2010-07-19T17:22:29.650 回答