簡體   English   中英

固定間隔后刷新updatepanel

[英]Refresh updatepanel after fixed interval

這是我的腳本:

 <script type="text/javascript">
    $(document).ready(
    function (){

        setTimeout('myFun()', 10000);
     });

    function myFun() {
        var btn = document.getElementById('<%=myBtn.ClientID %>');
        alert(btn);
        btn.click();
     }
</script>

我的加價:

<asp:UpdatePanel ID="upMain" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Label ID="lblValue" runat="server" Text=""></asp:Label>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="myBtn" EventName="Click" />
     </Triggers>
</asp:UpdatePanel>
<asp:Button ID="myBtn" runat="server" Text="hit" />

代碼背后:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        lblValue.Text = "0";
    }
    else
    {
        lblValue.Text = Convert.ToString(Convert.ToInt32(lblValue.Text) + 1);
    }
}

我需要每隔10秒刷新一次updatepanel。 但是在頁面加載之后,只有一次我能夠實現這一點。 有什么我想念的嗎? 謝謝。

刪除if (!IsPostBack) ,因此,它只更新一次,

IsPostBack意味着頁面回發給自己

!IsPostBack意味着您第一次加載剛剛刷新頁面的頁面時,它不是自己發布的

為什么不使用AJAX Timer控件呢? 它將以一種整潔,簡潔和有效的方式起到同樣的作用。

無論如何,setTimeout()和setInterval()都以相同的方式工作。

關鍵的區別在於:

  • setTimeout將等待指定的時間段,運行我們給它的代碼,然后停止。
  • 另一方面, setInterval將等待,運行代碼 - 然后再次等待並再次運行代碼 - 永遠重復(或直到我們告訴它停止)。

簡而言之,setTimeout()僅在指定的時間間隔后運行提供的代碼一次,而setInterval()在指定的時間間隔后再次運行代碼。

所以使用:

<script type="text/javascript">     
$(document).ready(    
     function ()
     {          
             setInterval('myFun()', 10000);      
     });
     function myFun() 
     {         
             var btn = document.getElementById('<%=myBtn.ClientID %>');         
             alert(btn);
             btn.click();      
     } 
</script> 

資料來源:jQuery - Ninja的新手

你為什么不嘗試AJAX定時器控制? 這是一種在一些固定間隔內回發的簡單方法。

嘗試

   __dopostback('<%=myBtn.UniqueID%>',0);

點擊了

 var btn = document.getElementById('<%=myBtn.ClientID %>');         
             btn.click();   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM