经过快速搜索,我发现似乎找不到答案,这是一件看起来很简单的事情。
如何在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事件中完成此操作。