2010-07-19 41 views
0

我有一些的CheckBoxList这样的:保存的CheckBoxList价值为xml用vb.net

<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文件中的值:

昏暗的DOC作为新的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,对吧?

回答

0

CheckBoxList.SelectedValue只是一个单一的值,所以当你使用该属性时你只会得到一个值。 From its definition它的设计,让您只选择第一个值:

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

使用CheckBoxList.Items而是通过所有这些循环和检查ListItem.Selected属性,看看他们是否已经选择与否。 (或者使用等效的LINQ表达式,无论你喜欢什么。)