aspx ページに 2 つのユーザー コントロールがあります。どちらにも更新パネルがあり、UpdateMode プロパティが Conditional に設定されています。
最初のものは(VoteControl)です:
<asp:UpdatePanel ID="VoteUpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="vote">
<div class="counter">
<asp:Label ID="lblVoteCount" runat="server" />
</div>
<div class="vote-up">
<asp:ImageButton ID="btnVote" runat="server" ImageUrl="~/App_Themes/DefaultTheme/images/br_up.png" OnClick="btnVote_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnVote" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
もう 1 つは (CommentControl) で、次のものがありUpdatePanelAnimationExtender
ます。
<asp:UpdatePanel ID="CommentUpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="gvComments" runat="server" AutoGenerateColumns="false" ShowFooter="false"
ShowHeader="false" GridLines="None" SkinID="SimpleGrid-noFormat">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div class="contents">
<table style="width: 100%">
<tr>
<td>
<%# "<b>" + Eval("AddedByName") + "</b>" %>
<%# Eval("CommentBody") %>
</td>
<td style="vertical-align: top; text-align: left; width: 70px; padding-right: 10px">
<div class="gravatar">
<ajaxToolkit:Gravatar ID="Gravatar1" runat="server" Width="64px" Height="64px" Email='<%# Eval("AddedByEmail") %>' />
</div>
</td>
</tr>
</table>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Panel ID="AddCommentPanel" runat="server">
<div class="add-comment">
<div id="mainComment">
<asp:Panel ID="commentPanel" runat="server" ClientIDMode="Static">
<div class="comment-title">
<h2>Comments</h2>
</div>
<div>
<asp:TextBox ID="txtCommentBody" runat="server" SkinID="FormatedTextBoxRtL" Width="99%" TextMode="MultiLine" Height="100px" />
<div class="add">
<asp:Button ID="btnSaveComment" runat="server" Text="Submit" SkinID="SimpleButton"
ValidationGroup="Comment" OnClick="btnSaveComment_Click" />
<asp:HyperLink ID="HyperLink1" runat="server" Text="Discard" />
</div>
</div>
</asp:Panel>
</div>
<div id="tanks">
<asp:Panel ID="messagePanel" runat="server" Visible="false">
<div>
Thanks
</div>
</asp:Panel>
</div>
</div>
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSaveComment" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<ajaxToolkit:UpdatePanelAnimationExtender ID="upae" runat="server" BehaviorID="animation" TargetControlID="CommentUpdatePanel"
AlwaysFinishOnUpdatingAnimation="true">
<Animations>
<OnUpdating>
<Sequence>
<Parallel duration="0">
<EnableAction AnimationTarget="btnSaveComment" Enabled="false" />
</Parallel>
<Parallel duration=".25" Fps="30">
<FadeOut AnimationTarget="comments" minimumOpacity=".2" />
</Parallel>
</Sequence>
</OnUpdating>
<OnUpdated>
<Sequence>
<Parallel duration=".25" Fps="30">
<FadeIn AnimationTarget="comments" minimumOpacity="1" />
</Parallel>
<Parallel duration="0">
<EnableAction AnimationTarget="comments" Enabled="true" />
</Parallel>
</Sequence>
</OnUpdated>
</Animations>
</ajaxToolkit:UpdatePanelAnimationExtender>
そのため、CommentControl
正常に動作しますが、をクリックbtnVote
すると更新が開始されVoteControl
、CommentControl
更新モードのままになります! すべてのコードが起動され、aspx ページを更新すると、すべてが適切に表示されます (データベースが有効になります)。
何が欠けているのか、何が私のせいなのかわかりません。これで私を助けてくれませんか?