[英]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()在指定的時間間隔后再次運行代碼。
所以使用:
<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.