2016-05-16 31 views
0

我有一个数组列表,其中有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的值也需要设置为变量。

有人可以让我知道当我选择特定的ID时如何获得“typeid”的价值吗?

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

+0

可能重复[DropDownList,获取DataValueField在C#中返回](http://stackoverflow.com/questions/17348678/dropdownlist-getting-datavaluefield-returned-in-c-sharp) – dotNET

+0

我正在寻找代码后面的选定值的typeid值。不是id(数据值)值或说明(数据字段)@dotNET – Knowledge2Share

回答

0

可以Concat的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)); 
    }); 
} 
0

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

相关问题