0

我的更新面板有问题。我已经制作了这张表,在该表中我有两个标签(“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>

提前致谢!

4

1 回答 1

1

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

见这篇文章:

具体阅读“如何刷新 UpdatePanel 控件”,它实际上谈到了 UpdateMode 和嵌套更新面板。

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

更新面板需要一些时间来适应:)

于 2013-07-31T19:15:19.710 回答