ListBox 不断将所选索引返回为 -1

当我尝试在列表框中找到所选项目时,它会一直返回 -1 作为所选索引。此代码在按钮单击事件中执行


int test = Convert.ToInt32(lbProjects.SelectedIndex.ToString());


String number = lbProjects.Items[test].Value;


我试图在我的列表框中找到所选项目的值,为了做到这一点,我需要该所选项目的索引,但是当我调试时,无论我选择什么项目,它都会返回 -1。我做错了什么还是与我填充列表框的方式有关?


列表框代码


protected void Page_Load(object sender, EventArgs e)

{


    String Sql = @" select * from project";

    SqlConnection conn = new SqlConnection(Properties.Resources.cString);

    SqlDataAdapter DA = new SqlDataAdapter(Sql, Properties.Resources.cString);

    DataSet DS = new DataSet();

    DA.Fill(DS, "Project");

    DataTable DT = DS.Tables["Project"];


    lbProjects.DataValueField = "ProjectID";

    lbProjects.DataTextField = "ProjectName";

    lbProjects.DataSource = DT;

    lbProjects.DataBind();


}

提前致谢!


慕桂英546537
浏览 115回答 1
1回答

长风秋雁

当我尝试在列表框中找到所选项目时,它会一直返回 -1 作为所选索引。此代码在按钮单击事件中执行int test = Convert.ToInt32(lbProjects.SelectedIndex.ToString());String number = lbProjects.Items[test].Value;我试图在我的列表框中找到所选项目的值,为了做到这一点,我需要该所选项目的索引,但是当我调试时,无论我选择什么项目,它都会返回 -1。我做错了什么还是与我填充列表框的方式有关?列表框代码protected void Page_Load(object sender, EventArgs e){    String Sql = @" select * from project";    SqlConnection conn = new SqlConnection(Properties.Resources.cString);    SqlDataAdapter DA = new SqlDataAdapter(Sql, Properties.Resources.cString);    DataSet DS = new DataSet();    DA.Fill(DS, "Project");    DataTable DT = DS.Tables["Project"];    lbProjects.DataValueField = "ProjectID";    lbProjects.DataTextField = "ProjectName";    lbProjects.DataSource = DT;    lbProjects.DataBind();}
打开App,查看更多内容
随时随地看视频慕课网APP