如何将第三个值分配给下拉列表?

时间:2016-05-16 19:22:57

标签: c# asp.net vb.net dropdown

我有一个包含3个字段(id,description,typeid)的数组列表,并且我将该arraylist绑定到ASP DropDownList。我将描述字段设置为DataTextField,并在绑定期间将另一个字段“Id”设置为DataValueField。

代码:

Dim b As ArrayList
            b = //Assigning ArrayList

            Me.drpDwn.DataSource = b
            Me.drpDwn.DataTextField = "description"
            Me.drpDwn.DataValueField = "id"
            Try : Me.drpDwn.DataBind() : Catch ex As Exception : ErrorEmailAlert.SendErrorViaEmail(Server, Session, ex) : End Try

当用户从DropDownList中选择值时,我需要将typeid值设置为变量。

当我选择特定身份证时,有人可以告诉我如何获得“typeid”的价值吗?

编辑:我需要在后面的代码中选择值的typeid值。不是id(数据值)值或描述(数据字段)

2 个答案:

答案 0 :(得分:0)

您可以使用typeid连接id,然后将其添加到下拉列表中,如下所示:

class Item
{
    public   int id;
    public string description;
    public int typeid;
}


void FillDropDown()
{
    List<Item> Items = new List<Item>();

    // Fill Items

    DropDownList.Items.Clear();
    Items.ForEach(I => 
    {
        DropDownList.Items.Add(new ListItem(I.description, I.id + ";" + I.typeid));
    });
}

答案 1 :(得分:0)

在所有绑定情况下的一般想法是,您将DataValueField与您的集合中的唯一标识符(通常是主数据,如果此数据来自数据库)绑定。一旦用户选择了一个项目并将其发回服务器,您就可以使用主键值来检索整个记录,从而获得任何其他属性的值(在您的情况下为typeid)。