ItemTemplate中的DataList在AsyncPostBackTrigger之后消失

时间:2016-01-13 07:16:22

标签: asp.net asp.net-ajax datalist data-synchronization

我有一个datalist,它出现在另一个datalist的ItemTempate中。 我遇到问题的数据主义者是UserControl,它出现在父DataList的ItemTemplate中。

问题:点击"添加评论"按钮,后面的代码运行,页面不会按预期刷新,但DataList 完全消失

这是UserControl HTML:

    

    <asp:DataList   ID="DataListComments" 
                    runat="server"
                    OnItemCommand="DataListComments_ItemCommand" 
                    DataSourceID="SqlDataSourceComments">
        <ItemTemplate>
            <div id="CommentItemDIV_<%#Eval("Comment_ID")%>">
                <table><tr>
                    <td style="width:1px;">
                        <asp:Label Text='<%#Eval("Comment_ID")%>' CssClass="Invisible" ID="lblCommentID" runat="server"></asp:Label>
                    </td>
                    <td style="width:20px;">
                        <asp:Button ID="btnDeleteComment" runat="server" CssClass="btnCircleSmall btnTrash" CommandName="DeleteComment" />
                    </td>
                    <td style="width:9px;"></td>
                    <td><%#Eval("Comment_Text")%></td>
                </tr></table>
            </div>
            <hr class="UltraThinHR" />
        </ItemTemplate>
    </asp:DataList> 

</ContentTemplate>



<triggers>
    <asp:AsyncPostBackTrigger ControlID="DataListComments" EventName="ItemCommand" />
    <asp:AsyncPostBackTrigger ControlID="btnAddComment"  EventName="Click" />
</triggers>

以下是触发新注释插入的元素:

<asp:Button runat="server" ID="btnAddComment" class="btnAdd" OnClick="btnAddComment_Click" />

以下是按钮点击后面的代码:

DataUtils.CreateComment("dsds");
DataListComments.DataBind();

0 个答案:

没有答案