快速搜索后,我找不到这个看似简单的事情的答案。
如何在 Asp.Net ListView 中手动选择项目?
我有一个 SelectedItemTemplate,但我不想使用 asp:button 或 asp:LinkButton 来选择一个项目。我希望从 URL 完成。例如,像 QueryString 一样。
我想象的方式是在 ItemDataBound 上,检查一个条件,然后将其设置为选中(如果为真),但我该怎么做呢?
例如:
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!!!
}
}
}
}
我确定这是一两行代码。
编辑:我更新了代码以反映解决方案,似乎我可以选择 ListView 的 SelectedItemIndex,但是,它实际上并没有呈现 SelectedItemTemplate。我不知道我是否应该按照下面的建议在 ItemDataBound 事件中执行此操作。