我只在运行时遇到这些错误,我正在使用Visual Studio。
类型'System.InvalidCastException
的未处理异常其他信息:无法将类型为“System.String”的对象强制转换为“System.Web.UI.WebControls.ListItem”。
private void btnRunReport_Click(object sender, EventArgs e)
{
rptTopBottom.selDepartment = GetDepartments();
}
private string GetDepartments()
{
string selDept = "";
foreach (ListItem li in listDepartment.Items)
{
if (li.Selected)
{
selDept += li.Value + ',';
}
}
selDept = selDept.Substring(0, selDept.Length - 1);
return selDept;
}
答案 0 :(得分:1)
异常消息
无法将'System.String'类型的对象强制转换为'System.Web.UI.WebControls.ListItem'。
表示此行
foreach (ListItem li in listDepartment.Items)
失败,因为listDepartment.Items
似乎包含string
类型的元素,而不是类型System.Web.UI.WebControls.ListItem
。
您正在使用System.Windows.Forms.ListBox
。此列表框“Items
属性是一个对象集合,其中包含您添加的对象。它不包含System.Web.UI.WebControl.ListItem
s。
您应该使用ListBox.SelectedItems
属性:
foreach (string s in listDepartment.SelectedItems)
selDept += s + ',';