asp.net - UpdatePanel 只为 RadioButtonList 控件回发整个页面
问题描述
我有一个带有 3 个更新面板的网页。它们都运行良好,并且已经使用 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"
. 所以改成
<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>
推荐阅读
- json - 如何在 powershell 中获取 azure arm 模板的解释值(ex concat)
- javascript - MapKit.js 中的缩放和位置管理
- javascript - 为什么在 angularjs 指令链接函数中未定义双向绑定?
- java - 运行 ant 在 mac 上安装 netbeans:Buildfile:build.xml 不存在!构建失败
- c# - Azure Functions,如何拥有多个 .json 配置文件
- tensorflow - 使用 TensorFlow2 的分布式学习不起作用
- angular - 在我的选择使用函数的地方为 mat-select 设置默认值?
- javascript - 下载文本文件并将文本作为字符串分配给变量 - Angular 7
- chart.js - Chart.js x轴标签在悬停时重复
- bash - 根据字符串中的 ID 删除重复的行