找不到从异步回发创建的嵌套更新面板



我有一个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>

由于插入项位于第一个位置,因此索引 0 将包含新行。因此,索引 1 是我添加新行之前的数据。

有什么想法吗?

通过在父UpdatePanel中使用ChildrenAsTriggers="true"来解决。

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

最新更新