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