当前位置: 代码迷 >> ASP.NET >> 有一个无效 SelectedValue,因为它不在项目列表中,该如何解决
  详细解决方案

有一个无效 SelectedValue,因为它不在项目列表中,该如何解决

热度:5103   发布时间:2013-02-25 00:00:00.0
有一个无效 SelectedValue,因为它不在项目列表中
//绑定区县
  ddlQX.DataSource = objCtl.GetOrganizationInfo(17, 2);
  ddlQX.DataTextField = "AgenciesName";
  ddlQX.DataValueField = "ID";
  ddlQX.DataBind(); --------这里报:“ddlQX”有一个无效 SelectedValue,因为它不在项目列表中。
请问下到底是哪里出了错
  ddlQX.Items.Insert(0, new ListItem("--请选择--", "-1"));



------解决方案--------------------------------------------------------
ddlQX.Items.Insert(0, new ListItem("--请选择--", "-1"));

你这句话应该写在ddlQX的DataBound时间里。
------解决方案--------------------------------------------------------
其实提示已经很明显了,问题出在SelectedValue,你是不是设置过SelectedValue,然后你绑定的数据又没有这个值。
------解决方案--------------------------------------------------------
C# code
DataSet ds = new DataSet();        ds = area.GetAllDynamicFromView("", "LISTNO");        ddlControl.Items.Clear();        ddlControl.DataSource = ds;        ddlControl.DataValueField = "AREA_CODE";        ddlControl.DataTextField = "AREA_NAME";        ddlControl.DataBind();                ListItem theItem = null;        if (val != null)        {            theItem = new ListItem("选择区域", val);        }        else        {            theItem = new ListItem("选择区域", "0");        }        ddlControl.Items.Insert(0, theItem);
------解决方案--------------------------------------------------------
探讨
ddlQX.Items.Insert(0, new ListItem("--请选择--", "-1"));

你这句话应该写在ddlQX的DataBound时间里。

------解决方案--------------------------------------------------------
探讨
其实提示已经很明显了,问题出在SelectedValue,你是不是设置过SelectedValue,然后你绑定的数据又没有这个值。

------解决方案--------------------------------------------------------
ddlQX.DataSource = objCtl.GetOrganizationInfo(17, 2);
LZ在 写sql的时候读取他的ID 值了嘛