Сохранить значения 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 следующим образом:
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 ответ
CheckBoxList.SelectedValue
это просто одно значение, поэтому, конечно, вы получаете только одно значение при использовании этого свойства. Из его определения он предназначен для того, чтобы дать вам только первое выбранное значение:
Если выбрано несколько элементов, возвращается значение выбранного элемента с наименьшим индексом.
использование CheckBoxList.Items
вместо этого, просматривая их все и проверяя ListItem.Selected
свойство, чтобы увидеть, если они были выбраны или нет. (Или используйте эквивалентное выражение LINQ, в зависимости от того, что вы предпочитаете.)