级联下拉列表在获取操作时没有 select 精确值

cascading drop down list does not select exact value on fetch operation

我试图在我的 drop down list 获取操作中获取 selected 状态名称。它能够在 country/state 的 selection 上填充州名和城市名。

问题:在我们select list 的2/3 索引值的数据输入时间。然后在提取操作中它不会显示为 selected。 填充列表代码如下。

private DataSet StateNames(string country)
    {
        prop.DS = objBL.PopStates(country);
        if (prop.DS.Tables[0].Rows.Count > 0)
        {
            ddlStates.DataSource = prop.DS;
            ddlStates.DataTextField = "ColName";
            ddlStates.DataValueField = "Col_ID";
            ddlStates.DataBind();
            ddlStates.Items.Insert(0, new ListItem(" Select", "-1"));
        }
        else { }

        return prop.DS;
    }

为了显示已经 selected 和保存的值,我编写了以下代码:

    ds2 = StateNames(ds.Tables[0].Rows[0]["country"].ToString());
            if (ds2.Tables[0].Rows.Count > 0)
            {
                string state_name_value = ds.Tables[0].Rows[0]["BirthLocCol"].ToString();
                ddlSates.SelectedValue =  Convert.ToString(ddlStates.Items.FindByValue(state_name_value));     
            }
---

此代码给出以下错误:

ddlState has a SelectedValue which is invalid because it doesn't exist in the list of items.

请指导我,我在 dropdownlist.

中显示 selected 值的地方做错了

谢谢!

您必须为此使用下面提到的代码,您正在尝试将对象转换为字符串而不是它的值。

ddlSates.SelectedValue =  Convert.ToString(ddlStates.Items.FindByValue(state_name_value).Value);