ms ajax hover extender error "Расширитель не может быть в другой UpdatePanel, чем элемент управления, который он расширяет" - PullRequest
2 голосов
/ 09 сентября 2010

Очевидно, что элемент управления и расширитель находятся в одной панели обновления. Тем не менее возникает ошибка «Расширитель не может быть в другой UpdatePanel, чем элемент управления, который он расширяет».

ПРИМЕЧАНИЕ: Пользовательский элемент управления объявлен в рамках UpdatePanel на странице с его использованием. Это делает UpdatePanel в пользовательском элементе управления «вложенным».

Следующий код находится в Asp.Net UserControl:

        <asp:TemplateField HeaderStyle-Width="0px">
        <ItemTemplate>
            <asp:UpdatePanel ID="hoverMenuUpdatePanel" runat="server">
                <ContentTemplate>
                    <ajaxtoolkit:HoverMenuExtender ID="extensionActionHoverMenuExtender" runat="server"
                        PopupControlID="extensionActionHoverMenu" PopupPosition="Left" HoverCssClass="popupHover"
                        TargetControlID="extensionActionHoverMenu" OffsetX="5" PopDelay="50" />
                    <asp:Panel ID="extensionActionHoverMenu" runat="server" CssClass="modalDialogPanel"
                        Style="display: none; height: 200px; width: 300px; padding: 5px;">
                        <div style="border-color: #3A362C; padding: 2px; border-right-style: solid; border-right-width: thin;
                            float: left;">
                            <div class="title">
                                Reserve Extension: &nbsp
                                <asp:Label ID="extensionToReserveLabel" runat="server" Text='<%# Eval("ConsolidatedPhoneExtensionPK") %>' />
                            </div>
                            <div id="userType" style="border-style: solid; border-width: 1px; padding: 5px; height: 80px;
                                width: 200px; background-color: #E2DDBA; margin-bottom: 8px;">
                                User Type:
                                <asp:RadioButtonList ID="reservedUserTypeRadioButtonList" runat="server">
                                    <asp:ListItem Selected="true" Text="999/988" Value="Employee" />
                                    <asp:ListItem Text="Other" Value="Other" />
                                </asp:RadioButtonList>
                            </div>
                            <div>
                                Employee No:<asp:TextBox ID="reserveEmployeeNo" runat="server" OnTextChanged="reserveEmployeeNo_TextChanged"
                                    AutoPostBack="true" />
                                <asp:Label ID="employeeNameDisplayLabel" runat="server" />
                                <asp:Label ID="reserveUserMessageAreaLabel" runat="server" />
                            </div>
                        </div>
                        <div>
                            <div>
                                <asp:Button ID="selectButton" runat="server" Text="View" CommandName="Select" Width="75px" />
                            </div>
                            <div>
                                <asp:Button ID="reserveButton" runat="server" Text="Reserve" CommandName="Reserve"
                                    CommandArgument='<%# Eval("ConsolidatedPhoneExtensionPK") %>' Width="75px" />
                            </div>
                        </div>
                    </asp:Panel>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="reserveEmployeeNo" EventName="TextChanged" />
                </Triggers>
            </asp:UpdatePanel>
        </ItemTemplate>
    </asp:TemplateField>

Ответы [ 3 ]

1 голос
/ 11 июня 2012

Создайте панель с идентификатором «всплывающее» (хотя это может быть вам нравится).На этой панели разместите любые кнопки или что угодно, это будет ваше всплывающее меню.Установите для PopupControlID значение «popup».

Ваш TargetControlID должен быть идентификатором панели, на которую вы хотите, чтобы ману всплыло (extensionActionHoverMenu?).

0 голосов
/ 28 ноября 2013

Иногда речь идет не о панели обновления, а о других элементах инструментария.Я получил это сообщение при использовании FilteredTextBoxExtender.Элемент управления, определенный в TargetControlID, находился в другой панели обновления.

0 голосов
/ 10 марта 2011

PopupControlID и TargetControlID одинаковы. Ваш TargetControlID должен быть другим элементом формы.

Образец HoverMenu :

  • TargetControlID - элемент управления, на который нацеливается экстендер. когда курсор мыши находится над этим элементом управления, всплывающее меню при наведении отображается.
  • PopupControlID - идентификатор элемента управления для отображения, когда мышь находится над целевой контроль. В этом случае это просто простая панель с двумя ссылками:
...