Como você pode definir o item selecionado em um menu suspenso do ASP.NET por meio do texto de exibição?

Eu tenho um menu suspenso do ASP.NET que eu preenchi por meio de ligação de dados. Eu tenho o texto que corresponde ao texto de exibição do item de lista que quero ser selecionado. Obviamente, não posso usar o SelectedText (somente getter) e não conheço o índice, portanto não posso usar o SelectedIndex. No momento, estou selecionando o item percorrendo a lista inteira, conforme mostrado abaixo:

ASP:

<asp:DropDownList ID="ddItems" runat="server" /> 

Código:

ddItems.DataSource = myItemCollection;
ddItems.DataTextField = "Name";
ddItems.DataValueField = "Id";

foreach (ListItem item in ddItems.Items)
{
    if (item.Text == textToSelect)
    {
        item.Selected = true;
    }
}

Existe uma maneira de fazer isso sem percorrer todos os itens?

questionAnswers(4)

yourAnswerToTheQuestion