2013-05-21 95 views
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> 

它仍然沒有工作。你能幫我...

當使用更新面板時,單選按鈕的選擇會自動清除。任何幫助....?

謝謝....

+2

你是什麼意思「不工作」,它是否會導致任何回發? – Serge

+0

是否有任何異常或錯誤? –

+1

您剛剛嘗試將AutoPostBack =「true」添加到您的控制器「」嗎? –

回答

2

如果您使用的母版頁,然後在你的頁面加載事件

using AjaxControlToolkit; 

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

添加以下代碼.... ..........

+0

謝謝我通過在我的頁面加載事件中添加'使用AjaxControlToolkit;'得到它。 –

2

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

,並添加Ajaxtoolkit到您的項目......然後就在下面鏈接後<%@ .........頁%>

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

也在你的表單標籤中添加以下代碼。

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

它會解決你的問題。

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> 
1

您需要註冊NEXT按鈕更新面板。註冊需要使用<asp:asyncpostbacktrigger xmlns:asp="#unknown">的UpdatePanel內

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

    <triggers> 
    <asp:asyncpostbacktrigger controlid="btnNext" eventname="Click" /> 
    </triggers> 
<updatepanel></updatepanel></updatepanel> 
+0

註冊NEXT按鈕更新面板也可以幫助我解決我的問題。你有我的+100。 –

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> 
3

似乎是無可匹敵的標籤。一旦正確,再次通過佈局。而不是使用AjaxToolkit庫,運行jQuery導航插件,你可以感覺更好。

0

如果在頁面中存在驗證錯誤(包括隱藏錯誤es:模式對話框)。 事件點擊不起作用。 托盤到一個不同的驗證組設置爲按鈕(ES:=的ValidationGroup 「XXX」)

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

希望這幫助。

相關問題