日期:2014-05-18  浏览次数:20626 次

有一个无效 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 值了嘛