2010-09-08 23 views
2

顯然,控件和擴展器位於同一個更新面板中。但是,「擴展程序不能位於與其擴展的控件不同的UpdatePanel」錯誤發生。ms ajax hover extender error「擴展器不能位於與其擴展的控件不同的UpdatePanel中」

注意:用戶控件在使用它的頁面上的UpdatePanel中聲明。這使得用戶控件中的UpdatePanel「嵌套」。

以下代碼是在用戶控件Asp.Net:

 <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> 

回答

0

PopupControlIDTargetControlID是相同的。您的TargetControlID應該是其他一些表單元素。

HoverMenu Sample

  • 的TargetControlID - 即擴展器定位控制。當 鼠標光標在此控件上時,將顯示懸停菜單彈出框 。
  • PopupControlID - 當鼠標位於目標控件上時顯示的控件的ID。在這種情況下,它是 只是一個簡單的面板有兩個環節:
1

與「彈出」的ID創建一個面板(也可以是你喜歡的,雖然參選)。在這個面板中放置任何按鈕或任何你想要的,這將是你的彈出式菜單。將您的PopupControlID設置爲「彈出」。

您的TargetControlID應該是您希望手動彈出的面板的ID(extensionActionHoverMenu?)。

0

有時它不是關於updatepanel,而是關於工具包的其他項目。 我在使用FilteredTextBoxExtender時收到了此消息。 TargetControlID中定義的控件位於不同的更新面板中。