在我的应用程序中,我的第一个ListBox填充在Dropdown的选定索引上,然后根据我的First Listbox中的Multiple Selected Item我填充SecondList框。
问题是第二个列表框总是占用FirstList Box中的第一个项目,即使它没有被选中,
填充我的代码
的第一个列表框 protected void ddlSkillType_SelectedIndexChanged(object sender, EventArgs e)
{
List<TblSkillType> lstSkillType = ServiceAccess.GetProxy().GetSkillType();
List<TblSkill> lstSkill = ServiceAccess.GetProxy().GetAllSkill();
List<TblSkillDetail> lstSkillDetails = ServiceAccess.GetProxy().GetAllSkillDtls();
var skill = (from a in lstSkillType
from b in lstSkill
from c in lstSkillDetails
where a.SkillTypeId == Convert.ToInt32(ddlSkillType.SelectedValue) && a.SkillTypeId == b.SkillTypeId && b.SkillId == c.SkillId
select new { b.SkillId, c.SkillName }).ToList();
lstboxSkill.DataSource = skill;
lstboxSkill.DataTextField = "SkillName";
lstboxSkill.DataValueField = "SkillId";
lstboxSkill.DataBind();
}
并填写第二个列表框我的代码是
protected void imgbtnMoveRightListBox_Click(object sender, ImageClickEventArgs e)
{
for (int i = 0; i < lstboxSkill.Items.Count; i++)
{
if (lstboxSkill.Items[i].Selected)
{
lstBBoxSkill2.Items.Add(lstboxSkill.Items[i]);
}
}
}
我正在使用断点检查它,我发现Second ListBox始终采用第一个列表框的拳头,即使它未被选中。 即使是lstboxSkill中的第一个项目未被选中,forloop总是真正的infirst迭代并且为false 并且在第一个列表框中多次选择之后,第二个列表框填充第一个列表框的多个第一个列表框 我不知道是什么问题。 请帮我解决。
提前谢谢...... !!
答案 0 :(得分:0)
填写listbox
后,只需写下此行
lstBBoxSkill2.SelectedIndex = -1;
或
lstBBoxSkill2.ClearSelected();