ASP列表框1如果选择列,则获取列值,并从Datasource获取另一列

时间:2013-01-26 13:59:36

标签: c# asp.net

我正在尝试将Listbox与Ajax扩展程序一起用于自动填充搜索。 Listbox连接到带有2列的SQL数据源,我知道Listbox不支持多列。我不想显示我想要做的两个列如下:

到目前为止,我在检索第一列值时没有问题

string SupplierListtxt = SupplierListBox.SelectedItem.Text;
   MessageBox.Show(SupplierListtxt.ToString()); 

概念如下:

供应商数据库将公司名称和唯一ID(SupplierID)设置为主键。产品数据库将SupplierID设置为外键。

所以我想当用户选择列表框时,我应该收到信息,公司名称和SupplierID,以便将其插入到产品数据库中。

1 个答案:

答案 0 :(得分:2)

在DataBind ListBox之前,您必须设置DataTextField DataValueField

SupplierListBox.DataSource = CreateDataSource();
SupplierListBox.DataTextField="YourTextField";
SupplierListBox.DataValueField="YourIdField";
SupplierListBox.DataBind();

你得到的价值,例如通过SelectedValueSelectedItem.Value

如果您想以编程方式添加项目,可以添加ListItems

for(int i = 1; i <= 10; i++)
{
    string id = i.ToString();
    string text = "Foo#" + i;
    SupplierListBox.Items.Add(new ListItem(text, id));
}