更新控制面板

时间:2013-07-31 15:10:03

标签: asp.net ajax

我的更新面板有问题。我已经制作了这个表,并且在该表中我有两个标签(“lblResult”和“lblCheat”),每次点击按钮“btnCheck”或“ImageButton1”时我都需要更新。 当我单击下一个按钮时,整个表格都会更新,并且它可以正常使用我的代码。

我不明白为什么不更新标签,因为我使用更新面板的方式与“btnNext”按钮以及“btnCheck”和“ImageButton1”相同

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
           <ContentTemplate>
               <center>
                   <asp:Label ID="lblSound" runat="server" Visible="False"></asp:Label>
                   <table>
                       <tr>
                       <td>
                           <asp:Label ID="Label3" runat="server" Text="Sentence: "></asp:Label></td>
                           <td colspan="2">
                               <center>
                                   <asp:Label ID="lblSentence" runat="server" Text=""></asp:Label>
                               </center>
                           </td>
                       </tr>
                       <tr>
                           <td>
                               <asp:Label ID="Label2" runat="server" Text="Audio: "></asp:Label>
                           </td>
                           <td colspan="2">
                               <audio controls="">
       <source src="Sound/<%=FilePath %>" />
                               </audio>
                           </td>
                       </tr>
                       <tr>
                           <td style="height: 11px">
                               <asp:Label ID="Label1" runat="server" Text="Write the correct word: "></asp:Label>
                           </td>
                           <td style="height: 11px">
                               <asp:TextBox ID="txtWord" runat="server" ontextchanged="txtWord_TextChanged"></asp:TextBox>
                           </td>
                           <td style="height: 11px">
                               <center>
                                   <asp:Button ID="btnCheck" runat="server" onclick="btnCheck_Click" 
                                       Text="Check" />
                                   <asp:ImageButton ID="ImageButton1" runat="server" Height="30px" 
                                       ImageUrl="~/Besilka/Question-mark-icon.png" onclick="ImageButton1_Click" 
                                       Width="30px" />
                               </center>
                           </td>
                       </tr>

                       <asp:UpdatePanel ID="UpdatePanel2" runat="server">
           <ContentTemplate>
                       <tr>
                           <td>
                               <center>
                                   <asp:Label ID="lblResult" runat="server"></asp:Label>
                               </center>
                           </td>
                           <td>
                               <center>
                                   <asp:Label ID="lblCheat" runat="server" Text=""></asp:Label>
                               </center>
                           </td>
                       </tr>
                       </ContentTemplate>
                       <Triggers>
                       <asp:AsyncPostBackTrigger ControlID="btnCheck" EventName="Click" />
        <asp:AsyncPostBackTrigger ControlID="ImageButton1" EventName="Click" />
                       </Triggers>
       </asp:UpdatePanel>

                   </table>
               </center>
               <asp:Button ID="btnNext" runat="server" onclick="btnNext_Click" Text="Next" />

           </ContentTemplate>
           <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnNext" EventName="Click" />
           </Triggers>
           </asp:UpdatePanel>

提前致谢!

1 个答案:

答案 0 :(得分:1)

尝试设置嵌套更新面板UpdateMode="Conditional"

见本文:

具体阅读“如何刷新UpdatePanel控件”,它实际上是在讨论UpdateMode和嵌套更新面板。

http://msdn.microsoft.com/en-us/library/bb386454%28v=vs.100%29.aspx

更新面板需要一点点用于:)