无法通过引用转换,装箱转换将类型'System.Web.UI.WebControls.ListItem'转换为'Web Application.Title

时间:2013-07-16 04:23:40

标签: asp.net entity-framework selectedindexchanged object-initializers

这是情况。

- 有两个列表框(lb1-lb2)。在一个(lb1)中显示从数据库中获取的所有数据。

- 当我想点击lb1中的数据时,内容必须显示在其他列表框(lb2)中。

- 它们是两个在数据库中有关系的不同表。

- 我使用了实体框架并且到达了数据库的对象,我做了对象初始化器。

- 我已经使用selectedIndexChanged属性来提供这种动态我已经完成了以下代码

 Title choosen;
    private void lb1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (lb1.SelectedIndex == -1) return;
        choosen = lb1.SelectedItem as Title; //underlines and gives error in here
    }

它抛出一个错误:无法通过引用转换,装箱转换,拆箱转换,换行转换或空类型转换将类型'System.Web.UI.WebControls.ListItem'转换为'WebApplication2.Title'

我该怎么办?我错过了什么?谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

你无法将类型'System.Web.UI.WebControls.ListItem'转换为你的类标题

试试这个

    Title choosen;
    private void lb1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (lb1.SelectedIndex == -1) 
            return;
        choosen.name = lb1.SelectedItem.Text;//set object properties
        choosen.value= lb1.SelectedItem.Value;

    }
    public class Title { //your Title class has some properties so..i assume some properties
        public string name { get; set; }
        public string value { get; set; }
    }

答案 1 :(得分:0)

您无法直接将SelectedItem转换为Title

尝试以下

choosen = new Title(){ TitleText = lb1.SelectedItem.Value};

我假设您的标题表中有一个名为TitleText的列,可根据需要进行更改