设置正确的下拉列表行不起作用

时间:2009-07-21 21:30:54

标签: c# asp.net

我有一个从数据库填充的下拉列表。这工作正常。对照的非选择值为-1,非选择标记为“..”。当我尝试打开现有记录进行编辑时,我似乎无法选择正确的行。 ID分为三部分:111A-DD-12345。从数据库返回记录时,ID将被解析为三个字段。第一部分和第三部分是页面上的文本框,但中间部分是下拉列表。当我们打开现有记录时,我们使用以下代码解析ID:

string[] chunks = cID.Split('-');
ddOffice.SelectedItem.Text = chunks[1];

但这只是将ddl的第一行更改为DD(使用上面的示例ID),因此我们最终在ddl中有两行具有相同的显示文本。如何以编程方式将下拉列表设置为正确的值?

编辑:我们也试过了     ddOffice.SelectedValue = chunks [1] ,但这只显示默认的非选定行的..

TIA, 颖

2 个答案:

答案 0 :(得分:1)

试试这个:

ddOffice.SelectedIndex = ddOffice.Items.IndexOf(ddOffice.Items.FindByText(chunks[1]));

答案 1 :(得分:0)

(已编辑)您正在设置当前SelectedItem的Text属性,而不是设置SelectedItem本身。根据数据的来源,设置SelectedIndex或SelectedValue。