После быстрого поиска я не могу найти ответ на эту, казалось бы, простую вещь.
Как вручную выбрать элемент в Asp.Net ListView?
У меня есть SelectedItemTemplate, но я не хочу использовать asp: button или asp: LinkButton для выбора элемента. Я хочу, чтобы это было сделано с URL. Например, как QueryString.
То, как я представляю, будет на ItemDataBound, проверить условие и затем установить его в значение selected, если оно истинно, но как мне это сделать?
Например:
protected void lv_ItemDataBound(object sender, ListViewItemEventArgs e) {
using (ListViewDataItem dataItem = (ListViewDataItem)e.Item) {
if (dataItem != null) {
if( /* item select condition */ ) {
// What do I do here to Set this Item to be Selected?
// edit: Here's the solution I'm using :
((ListView)sender).SelectedIndex = dataItem.DisplayIndex;
// Note, I get here and it gets set
// but the SelectedItemTemplate isn't applied!!!
}
}
}
}
Я уверен, что это одна или две строки кода.
РЕДАКТИРОВАТЬ: Я обновил код, чтобы отразить решение, и кажется, что я могу выбрать SelectedItemIndex ListView, однако на самом деле это не визуализация SelectedItemTemplate. Я не знаю, следует ли мне делать это в событии ItemDataBound , как предлагается ниже .