如何解决UpdatePanel仅回发RadioButtonList控件的整个页面
我有一个网页,上面有3个UpdatePanels。它们都工作正常,并且已经使用UpdatePanels多年了,从未遇到过此问题。
RadioButtonList正在回发整个页面,而不是UpdatePanel,并且在输出中看不到任何错误。我以前从未见过这种行为,并将代码复制到另一个项目中,并且按预期工作。页面上的所有其他控件均以相同的格式正常工作。
是否还有其他可能导致此行为的原因?我的代码如下:
ASPX代码:
<asp:RadioButtonList ID="rbSelectWeek" runat="server" ClientIDMode="Static" CssClass="rb-select" OnSelectedIndexChanged="rbSelectWeek_SelectedIndexChanged" AutoPostBack="true" >
<asp:ListItem Text="Previous" Value="1" />
<asp:ListItem Text="Current" Value="2" Selected="True" />
<asp:ListItem Text="Next" Value="3" />
<asp:ListItem Text="All" Value="4" />
</asp:RadioButtonList>
<asp:UpdatePanel ID="upCaseViewer" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField ID="dtFrom" runat="server" ClientIDMode="Static" Value="1900-01-01" />
<asp:HiddenField ID="dtEnd" runat="server" ClientIDMode="Static" Value="9999-12-31" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="cmbTeam" EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="rbSelectWeek" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
VB.Net / C#
Protected Sub rbSelectWeek_SelectedIndexChanged(sender As Object,e As EventArgs) Handles rbSelectWeek.SelectedIndexChanged
Dim sVal As Integer = rbSelectWeek.SelectedValue
rbSelectWeek.ClearSelection()
rbSelectWeek.SelectedValue = sVal
Select Case sVal
Case 1
dtFrom.Value = getFunctions.getPrevWeek("Start")
dtEnd.Value = getFunctions.getPrevWeek("End")
Case 2
dtFrom.Value = getFunctions.getCurrWeek("Start")
dtEnd.Value = getFunctions.getCurrWeek("End")
Case 3
dtFrom.Value = getFunctions.getNextWeek("Start")
dtEnd.Value = getFunctions.getNextWeek("End")
Case Else
dtFrom.Value = getFunctions.getAll("Start")
dtEnd.Value = getFunctions.getAll("End")
End Select
End Sub
解决方法
当引用的元素使用ClientIDMode="Static"
时,AsyncPostBackTriggers不起作用。因此将其更改为
<asp:RadioButtonList ID="rbSelectWeek" runat="server" CssClass="rb-select" OnSelectedIndexChanged="rbSelectWeek_SelectedIndexChanged" AutoPostBack="true" >
<asp:ListItem Text="Previous" Value="1" />
<asp:ListItem Text="Current" Value="2" Selected="True" />
<asp:ListItem Text="Next" Value="3" />
<asp:ListItem Text="All" Value="4" />
</asp:RadioButtonList>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。