向列表框添加多个选项

时间:2012-05-31 12:15:38

标签: c# asp.net

我有一个页面,我需要允许用户添加多个这样的选项

文本框(在此处键入并单击添加)
列表框(添加到列表框)

ajaxcontrol工具包是否有任何此类控制?

请建议

2 个答案:

答案 0 :(得分:0)

如果您希望在单击“添加”时将列表项添加到列表框,则列表框可以执行此操作。您只需要调用listBox.Items.Add(yourItem)

如果你在一个控件中寻找所有这些,不,它没有那种控件。 但是,制作用户控件或自定义控件应该相当容易。

在textchange事件或添加按钮上单击,创建一个新的ListItem并将其添加到Items列表中。

答案 1 :(得分:0)

有两种方法可以将项目添加到ListBox,或任何实现DataSourceItemCollection的网页控件。

选项1 - DataSource

private List<KeyValuePair<string, string>> Items { get; set; }

protected AddItem(string text, string value)
{
    this.Items.Add(new KeyValuePair<string, string>(value, text))

    this.ListBox.ValueTextField = "Key";
    this.ListBox.DataTextField = "Value";
    this.ListBox.DataSource = this.Items;
    this.ListBox.DataBind;
}

值得注意的是,在选项1中,我使用了List<KeyValuePair<string, string>>而不是Dictionary<string, string>,因为列表框可以包含重复值的项目。

选项2 - Items.Add()

protected AddItem(string text, string value)
{
    var listItem = new ListItem(text, value);
    this.ListBox.Items.Add(listItem);
}