7

我在更新面板中放置了一个计时器和一个用于显示倒计时时间的标签。我已经放置了下一个按钮,用于在更新面板之外显示下一个问题。

我的问题是按钮单击不适用于更新面板。在不使用更新面板和计时器的情况下,它运行良好。我该如何解决这个问题?

我还尝试将整个工具放在更新面板中。它没有帮助我。

这是我的代码:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <ContentTemplate>
    <table class="style1">
        <tr>
            <td class="style2">
                <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
                </asp:Timer>
                <asp:Label ID="lblTimer" runat="server"></asp:Label>
        </tr>
        <tr>
            <td style="margin-left: 40px" class="style3">
                <asp:Label ID="lblQuestion" runat="server"></asp:Label>
            </td>
        </tr>
        </table>
         </ContentTemplate>
                 </asp:UpdatePanel>
        <table>
        <tr>
            <td style="margin-left: 40px" class="style2">
                <asp:RadioButtonList ID="rblOptions" runat="server">
                </asp:RadioButtonList>
            </td>
        </tr>
        <tr>
            <td style="margin-left: 40px" class="style2">
                <table class="style1">
                    <tr>
                        <td class="style2">
                            <asp:Button ID="btnNext" runat="server" onclick="btnNext_Click" Text="Next"
                                    Width="75px" />
                        </td>
                        <td>

                            <asp:Button ID="btnFinish" runat="server" onclick="btnFinish_Click"
                                Text="Finish" Width="75px" />
                        </td>
                    </tr>
                    <tr>
                        <td class="style2">
                            &nbsp;</td>
                        <td>
                         <asp:Label ID="lblScore" runat="server">Score : </asp:Label>
                       </td>
                   </tr>
                </table>
            </td>
        </tr>
    </table>
<asp:UpdatePanel>

我添加了以下代码。

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

仍然没有用。请你帮助我好吗....

使用更新面板时,单选按钮的选择会自动清除。有什么帮助……?

谢谢....

4

7 回答 7

7

您的 UpdatePanel 格式不正确。标记中有一个额外的asp:UpdatePanel标记。

改用这个:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <table class="style1">
            <tr>
                <td class="style2">
                    <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
                    </asp:Timer>
                    <asp:Label ID="lblTimer" runat="server"></asp:Label>
                </td>
            </tr>
            <tr>
                <td style="margin-left: 40px" class="style3">
                    <asp:Label ID="lblQuestion" runat="server"></asp:Label>
                </td>
            </tr>
        </table>
        <table>
            <tr>
                <td style="margin-left: 40px" class="style2">
                    <asp:RadioButtonList ID="rblOptions" runat="server">
                    </asp:RadioButtonList>
                </td>
            </tr>
            <tr>
                <td style="margin-left: 40px" class="style2">
                    <table class="style1">
                        <tr>
                            <td class="style2">
                                <asp:Button ID="btnNext" runat="server" onclick="btnNext_Click" Text="Next" Width="75px" />
                            </td>
                            <td>
                                <asp:Button ID="btnFinish" runat="server" onclick="btnFinish_Click" Text="Finish" Width="75px" />
                            </td>
                        </tr>
                        <tr>
                            <td class="style2">
                                 &nbsp;</td>
                            <td>
                                <asp:Label ID="lblScore" runat="server">Score : </asp:Label>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </ContentTemplate>
<asp:UpdatePanel>
于 2013-05-30T13:44:11.873 回答
3

似乎是不匹配的标签。一旦正确并再次通过布局。与其使用 AjaxToolkit 库,不如使用 jquery 导航插件运行,您会感觉更好。

于 2013-06-03T04:45:33.827 回答
2

添加

<Triggers>    
        <asp:PostBackTrigger ControlID="btnNext" />
        </Triggers>

并将 Ajaxtoolkit 添加到您的项目中...然后在 <%@ Page .........%> 之后提供以下链接

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

还在您的表单标签中添加以下代码。

 <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

它会解决你的问题。

于 2013-05-30T11:58:06.013 回答
2

如果您使用的是母版页,则将此代码添加到您的页面加载事件中

using AjaxControlToolkit;

 

ToolkitScriptManager objScriptManager = (ToolkitScriptManager)this.Master.FindControl("ScriptManager1");
    objScriptManager.AsyncPostBackTimeout = 36000;

.....................

于 2013-05-21T08:58:30.977 回答
2

您必须将按钮放在更新面板中,然后才能正常工作

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <ContentTemplate>
        <table class="style1">
            <tr>
                <td class="style2">
                    <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
                    </asp:Timer>
                    <asp:Label ID="lblTimer" runat="server"></asp:Label>
            </tr>
            <tr>
                <td style="margin-left: 40px" class="style3">
                    <asp:Label ID="lblQuestion" runat="server"></asp:Label>
                </td>
            </tr>
            </table>

            <table>
            <tr>
                <td style="margin-left: 40px" class="style2">
                    <asp:RadioButtonList ID="rblOptions" runat="server">
                    </asp:RadioButtonList>
                </td>
            </tr>
            <tr>
                <td style="margin-left: 40px" class="style2">
                    <table class="style1">
                        <tr>
                            <td class="style2">
                                <asp:Button ID="btnNext" runat="server" onclick="btnNext_Click" Text="Next"
                                        Width="75px" />
                            </td>
                            <td>

                                <asp:Button ID="btnFinish" runat="server" onclick="btnFinish_Click"
                                    Text="Finish" Width="75px" />
                            </td>
                        </tr>
                        <tr>
                            <td class="style2">
                                &nbsp;</td>
                            <td>
                             <asp:Label ID="lblScore" runat="server">Score : </asp:Label>
                           </td>
                       </tr>
                    </table>
                </td>
            </tr>
        </table>
</ContentTemplate>
                     </asp:UpdatePanel>
于 2013-05-31T11:56:31.007 回答
1

您需要注册 NEXT 按钮来更新面板。进行注册,您需要<asp:asyncpostbacktrigger xmlns:asp="#unknown">在 UpdatePanel中使用

IE

<updatepanel>
   <contenttemplate>
       ... body ......
   </contenttemplate>

  <triggers>
     <asp:asyncpostbacktrigger controlid="btnNext" eventname="Click" />
  </triggers>
<updatepanel></updatepanel></updatepanel>
于 2013-05-31T03:36:11.863 回答
0

如果页面中有验证错误(包括隐藏错误es:模态对话框)。事件点击不起作用。托盘为按钮设置不同的验证组(es:validationGroup="xxx")

<asp:Button ID="btnFinish" validationGroup="none" runat="server" onclick="btnFinish_Click" Text="Finish" />

希望这有帮助。

于 2014-09-18T16:41:57.017 回答