基本上,我有一个位于另一个 UpdatePanel 内的 UpdatePanel 中的 RadioButtonList。一旦我在此列表中选择了一个项目,它会立即取消选择自身,当然是由回发触发的。现在,我的代码隐藏中的任何地方都没有更改 RadioList 的 selected 属性。现在,我假设启用 viewstatemode=,所选索引将在回发之间保留。但是当该项目被选中时会发生什么,它立即变为未选中。
我的内部(嵌套)UpdatePanel 代码如下所示。
<asp:UpdatePanel ID="OptionsUpdater" UpdateMode="Conditional" runat="server" ChildrenAsTriggers="true" ViewStateMode="Enabled">
<ContentTemplate>
<asp:Panel runat="server" ID="rightside" CssClass="column4 row2">
<%--Options Panel--%>
<div id="OptionsPanel">
<div style="padding: 2px; border-color: black; border-style: solid; border-width: 1px; background-color: white; position: relative; top: -45px; left: -40px; border-radius: 8px;">
<p class="bluegradientBG3 massheader"
style="margin-left: -5px; min-width: 305px; font-size: 1.5em; border-radius: 14px; font-family: Arial; text-align: center">
Options
</p>
<asp:RadioButtonList ID="OptionsRadioList" runat="server"
Height="120px" Width="269px"
AutoPostBack="true"
CellPadding="9"
CellSpacing="2"
ViewStateMode="Enabled"
>
<asp:ListItem Value="update">Update Existing Parts</asp:ListItem>
<asp:ListItem Value="add">Add New Parts</asp:ListItem>
<asp:ListItem Value="delete">Mass Delete</asp:ListItem>
</asp:RadioButtonList>
<asp:CheckBoxList ID="OptionsCheckList" runat="server" Height="100px" Width="269px"
OnSelectedIndexChanged="OptionsCheckList_SelectedIndexChanged">
<asp:ListItem Value="NTDs">Update NTDs Only</asp:ListItem>
<asp:ListItem Value="addpart">Add Part If None Assigned</asp:ListItem>
<asp:ListItem Value="changelocations">Change N/A Locations To Selected</asp:ListItem>
</asp:CheckBoxList>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
代码中的外部 UpdatePanel 方式如下所示:
<asp:UpdatePanel ID="OverallUpdater" UpdateMode="Conditional" runat="server" ChildrenAsTriggers="true">
<ContentTemplate>
//content omitted for brevity
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="viewapps" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="UpdateButton" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="FilterButton" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="OptionsRadioList" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>