ASP.NET DropDownList с источником данных не выбирает ни одного элемента - PullRequest
2 голосов
/ 05 марта 2010

Я использую DropDownList с источником данных, который успешно заполняет список. Однако я хочу, чтобы был выбран один из элементов, а именно тот, где значение соответствует пути и запросу текущего запроса.

ddlTopics.DataSource = pdc;
ddlTopics.DataBind();
foreach (ListItem item in ddlTopics.Items)
{
    item.Selected = item.Value.Equals(this.Page.Request.Url.PathAndQuery);
}

Использование отладчика в Visual Studio 2008 показывает, что item.Selected становится истинным ровно один раз в цикле, но при визуализации select не выбрано option.

Есть идеи?

Ответы [ 5 ]

2 голосов
/ 05 марта 2010

Использование

ddlTopics.SelectedValue = this.Page.Request.Url.PathAndQuery;

    // Summary:
    //     Gets the value of the selected item in the list control, or selects the item
    //     in the list control that contains the specified value.
2 голосов
/ 05 марта 2010

Вы можете попробовать это:

ddlTopics.SelectedIndex = ddlTopics.Items.IndexOf(ddlTopics.Items.FindByValue(this.Page.Request.Url.PathAndQuery));
0 голосов
/ 05 марта 2010

Я всегда использовал

ddlTopics.SelectedIndex

, чтобы указать, что строка выбрана, а не присваивается строке по отдельности.

0 голосов
/ 05 марта 2010

Вот как я это делаю ...

  foreach (var itm in cboOffice.Items) {
        if (itm.Value == Session("office")) {
            itm.Selected = true;
            break; //OR EXIT FOR
        }
    }
0 голосов
/ 05 марта 2010

Установите для свойства ddlTopics.SelectedIndex индекс выбранного элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...