Как присвоить третье значение выпадающему списку?

У меня есть список массивов с 3 полями (id, description, typeid), и я привязал этот массив к 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 также было установлено в variable.

Может кто-нибудь, пожалуйста, дайте мне знать, как получить значение typeid также, когда я выбираю конкретный идентификатор?

РЕДАКТИРОВАТЬ: мне нужно значение typeid для выбранного значения в коде позади. Не значение id (значение данных) или описание (поле данных)


person Knowledge2Share    schedule 16.05.2016    source источник
comment
Возможный дубликат DropDownList, получение DataValueField, возвращенного на C #   -  person dotNET    schedule 16.05.2016
comment
Я хочу получить значение typeid для выбранного значения в коде позади. Не значение id (значение данных) или описание (поле данных) @dotNET   -  person Knowledge2Share    schedule 16.05.2016


Ответы (2)


Вы можете объединить идентификатор с typeid, а затем добавить его в раскрывающийся список следующим образом:

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));
    });
}
person Kahbazi    schedule 16.05.2016

Общая идея во всех ситуациях привязки заключается в том, что вы связываете DataValueField с уникальным идентификатором (обычно это первичный ключ, если эти данные взяты из базы данных) вашей коллекции. После того, как пользователь выбирает элемент и он отправляется обратно на сервер, вы можете использовать значение первичного ключа для получения всей записи, получая после этого значение любого другого атрибута (typeid в вашем случае).

person dotNET    schedule 17.05.2016