0

基本上,我有一个位于另一个 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>  
4

1 回答 1

0

在 PostBack 中,你是在设置 RadioButtonList 的数据源吗?如果是这样,那就是重置它的原因。

如果您只想在第一次为用户加载页面时加载 RBL 的数据源,请将其放在如下条件中:

if(!IsPostBack)
{
    // Load your RBL with your data
}
于 2013-08-12T20:09:46.240 回答