【问题标题】:How to assign third value to drop down list?如何为下拉列表分配第三个值?
【发布时间】:2016-05-16 19:22:56
【问题描述】:

我有一个包含 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 值也需要设置为变量。

当我选择特定 ID 时,有人可以告诉我如何获取“typeid”的值吗?

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

【问题讨论】:

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


【解决方案1】:

您可以将 id 与 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));
    });
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-20
      • 1970-01-01
      • 2014-11-16
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      相关资源
      最近更新 更多