如何在下拉列表中找到给定字符串值的索引?

Pra*_*ran 0 asp.net

我使用下拉列表,因为我有4个值,以下是我的值

  • UK-L1
  • 我们 - L1B
  • AUS-BUssness
  • 英国HSMP

在这里我需要选择一个特定的值作为一个选定的索引,我这样做的确切值和我的要求我将只传递' - '之后的值.所以我需要得到值被选中和这里使用以下代码选择它不起作用可以任何一个帮助.

码:

DropList.SelectedIndex = DropList.Items.IndexOf(DropList.Items.FindByValue("L1"));
Run Code Online (Sandbox Code Playgroud)

谢谢.

Dar*_*rov 6

您可以尝试设置所选值:

DropDown.SelectedValue = DropDown.Items
    .OfType<ListItem>()
    .Where(l => l.Value.EndsWith("-L1B"))
    .First()
    .Value;
Run Code Online (Sandbox Code Playgroud)

如果你想检查之前是否存在该值(First()如果找不到该值,则扩展方法将抛出异常):

var item = DropDown.Items
    .OfType<ListItem>()
    .Where(l => l.Value.EndsWith("-L1B"))
    .FirstOrDefault();

DropDown.SelectedValue = (item != null) ? item.Value : null;
Run Code Online (Sandbox Code Playgroud)