Почему панель обновления запускает другую панель обновления? - PullRequest
3 голосов
/ 31 мая 2010

У меня есть две панели обновления на моей странице ajax. Это первый раз, когда я использую панель обновления, и я не знаю, что не так. Я думаю, что только событие Click btnFilter должно запускать содержимое второй панели обновления, но изменение значений комбо (которое также скрывает / скрывает кнопку btnFilter) вызывает изменение содержимого второй панели обновления (по крайней мере, я иногда вижу перенесенные данные с firebug и второй мигает панель обновления). Онлайн здесь .

<asp:UpdatePanel ID="upComparison" runat="server">
    <ContentTemplate>
        Brand:
        <asp:DropDownList ID="ddlBrands" runat="server" AutoPostBack="true"
        OnSelectedIndexChanged="ddlBrands_SelectedIndexChanged"
        AppendDataBoundItems="true">
            <asp:ListItem Value="" Text="Please select a brand..." />
        </asp:DropDownList>
        <asp:Panel ID="pModels" runat="server" Visible="false">
            Model:
            <asp:DropDownList ID="ddlModels" runat="server" AutoPostBack="true"
            OnSelectedIndexChanged="ddlModels_SelectedIndexChanged" />
        </asp:Panel>
        <asp:Panel ID="pButton" runat="server" Visible="false">
            <asp:UpdateProgress ID="upMain" runat="server" DisplayAfter="100">
                <ProgressTemplate><img src="/Assets/Images/loader.gif" />
                </ProgressTemplate>
            </asp:UpdateProgress>
            <asp:Button ID="btnFilter" runat="server" Text="Filter" 
            OnClick="btnFilter_Click" />
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>    
<asp:UpdatePanel ID="upList" runat="server">
    <ContentTemplate>
        <asp:Repeater ID="rProducts" runat="server">
            <ItemTemplate>some code here</ItemTemplate>
        </asp:Repeater>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnFilter" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

1 Ответ

10 голосов
/ 31 мая 2010

По умолчанию каждый UpdatePanel будет обновляться при каждой асинхронной обратной передаче.

Чтобы изменить это поведение, установите для свойства UpdateMode значение Conditional.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...