我有一个在 UpdatePanel 内的 ListView,UpdateMode = Conditional。这是一个非常大的列表视图,有很多模板,所以我不显示细节。
<asp:UpdatePanel ID="updListView" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:ListView ID="lstvScanPreview" runat="server" OnItemDataBound="lstvScanPreview_ItemDataBound">
...
</ContentTemplate>
</asp:UpdatePanel>
我在更新面板之外还有一个单选按钮列表,其 OnSelectedIndexChanged 为
protected void rgbShowIssues_SelectedIndexChanged(object sender, EventArgs e)
{
if (rgbShowIssues.SelectedIndex == 0)
lstvScanPreview.DataSource = previewData.Data.Where(S => S.IssueType != ScanIssues.None);
else
lstvScanPreview.DataSource = previewData.Data;
updListView.Update();
}
此方法内设置的断点确实会被命中,但列表视图不会刷新。其他控件也有调用 updListView.Update() 的代码隐藏事件,这些确实有效。如果我在单击 rgbShowIssues 单选按钮列表后触发了这些其他事件之一,那么当更新确实发生时,我可以看到如果 UpdatePanel 在预期时刷新,我会看到预期的更改。
任何想法为什么这不起作用?谢谢。