代码之家  ›  专栏  ›  技术社区  ›  rcs

找不到从异步回发创建的嵌套UpdatePanel

  •  0
  • rcs  · 技术社区  · 7 年前

    我有一个updatepanel,其中包含一个listview。 在ListView中,它包含另一个UpdatePanel。 我想在listview中添加一个新行,这意味着新行将有一个updatepanel。但我得到了以下错误:

    0x800a139e - JavaScript runtime error: Sys.InvalidOperationException: Could not 
    find UpdatePanel with ID 'PageContent_lvwUser_updtPnlUserRole_1'. If it is 
    being updated dynamically then it must be inside another UpdatePanel.
    

    我的代码:

    <asp:UpdatePanel ID="updtPnlUser" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
        <ContentTemplate>            
            <asp:ListView ID="lvwUser" runat="server" 
                 InsertItemPosition="FirstItem" 
                 OnItemDataBound="lvwUser_ItemDataBound" 
                 OnItemInserting="lvwUser_ItemInserting" 
                 OnItemDeleting="lvwUser_ItemDeleting"                           
                 OnPagePropertiesChanging="lvwUser_PagePropertiesChanging" 
                 OnPagePropertiesChanged="lvwUser_PagePropertiesChanged">
                 <LayoutTemplate>
                 ...
                 </LayoutTemplate>
                 <ItemTemplate>
                 ...
                     <asp:UpdatePanel ID="updtPnlUserRole" runat="server">
                         <ContentTemplate>     
                             <asp:ListView ID="lvwUserRole" runat="server" 
                                 InsertItemPosition="FirstItem" 
                                 OnItemDataBound="lvwUserRole_ItemDataBound" 
                                 OnItemInserting="lvwUserRole_ItemInserting" 
                                 OnItemDeleting="lvwUserRole_ItemDeleting">
                                 <LayoutTemplate>
                                 ...
                                 </LayoutTemplate>
                             </asp:ListView>
                         </ContentTemplate>
                    </asp:UpdatePanel>
                 </ItemTemplate>
                 ...
             </asp:ListView>
         </ContentTemplate>
     </asp:UpdatePanel>
    

    由于insertitem位于第一个位置,索引0将包含新行。所以索引1是我添加新行之前的数据。

    有什么想法吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   rcs    7 年前

    通过使用解决 ChildrenAsTriggers="true" 在父母身上 UpdatePanel 是的。

    <asp:UpdatePanel ID="updtPnlUser" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">