在DropdownList中分配值时出现问题

时间:2011-04-18 05:52:39

标签: c# .net asp.net drop-down-menu

我已经获得了商品密钥(保险类别)的价值。但是,我似乎无法把它归还给保险类别。我如何将其分配到保险类别?我需要这个,以便我保存/添加新的保险条目。

请举例说明如何将其分配到保险类别。

请检查下面的代码:

List<Value> lsValue = oInsurance.Category.ValueList;
foreach (Value item in lstValue)
{
    if (item.Key.ToString() == drpCategory.SelectedValue)
    {
        oInsurance.Category.value = item.Key;// error here
    }
}

下拉列表代码:

private void InsuranceCategorySource()     {

    DataSet ds = new DataSet();
    DataTable dt = ds.Tables.Add("Source");
    dt.Columns.Add("ID", Type.GetType("System.String"));
    dt.Columns.Add("Desc", Type.GetType("System.String"));


    Insurance oInsurance = new Insurance();
    List<Value> lstValue = oInsurance.Category.ValueList;
    foreach (Value item in lstValue)
    {

        DataRow dr = dt.NewRow();
        dr[0] = item.Key.ToString();
        dr[1] = item.Value.ToString();
        dt.Rows.Add(dr);
    }

    drpCategory.DataSource = ds;
    drpCategory.DataMember = "Source";
    drpCategory.DataTextField = "Desc";
    drpCategory.DataValueField = "ID";
    drpCategory.DataBind();

}

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您将下拉列表的DisplayMember设置为值,并将下拉列表的ValueMember设置为密钥,则建议使用此选项。

如果您正确设置了列表的DisplayMemberValueMember,那么您的代码就可以使用。

由于您正在使用ASP.NET属性进行正确设置,因此ASP.NET中的DataTextFieldDataValueField

答案 1 :(得分:1)

如果我弄错了,请纠正我。您首先检查他们是否按下选定的下拉列表值,然后根据您尝试将其“值”输入保险类别?

if (item.Key.ToString() == drpCategory.SelectedValue)     //Check
    {
        oInsurance.Category.value = item.Value;           
       // I think it should be value    
       //instead of key which will be of type String.
    }