我有一个包含6个项目的列表框。在列表框选择索引更改的事件中,标签的文本更改为选定的项目值。列表框的选择模式为多种。我希望当用户选择一个项目时,应将其从列表框中删除并添加到标签文本中。用户可以删除所选项目1 2或全部我不使用文本框,因为我只希望可以选择列表框项目。我的HTML是
<asp:Label ID="lbl_mar_cat" runat="server" Width="100%" Font-Size="Small"></asp:Label>
<asp:ListBox ID="listbox_mar" runat="server" SelectionMode="Multiple"
CssClass="listbox" AutoPostBack="True"
onselectedindexchanged="BulletedList1_SelectedIndexChanged" >
<asp:ListItem Value="Doesn't Matter">Doesn't Matter</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>Divorced</asp:ListItem>
</asp:ListBox>
我的服务器端代码是
if (listbox_mar.SelectedValue == "Doesn't Matter")
{
lbl_mar_cat.Text = "Doesn't Matter";
}
else
{
if (lbl_mar_cat.Text == "")
{
lbl_mar_cat.Text = listbox_mar.SelectedValue.ToString();
}
else
{
lbl_mar_cat.Text += ", " + listbox_mar.SelectedValue.ToString();
}
}
试试这个:
protected void listbox_mar_SelectedIndexChanged(object sender, EventArgs e)
{
for (int i = 0; i < listbox_mar.Items.Count; i++)
{
if (listbox_mar.Items[i].Selected)
{
lbl_mar_cat.Text += listbox_mar.Items[i].Text+ " , " ;
listbox_mar.Items.Remove(listbox_mar.Items[i]);
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句