是不是timer控件每次刷新它都不执行页面的pageload事件?
可以让timer执行page_load事件吗?
如果能,我页面就一个gridview控件,把scriptmanager,timer,gridview都放在Updatepanel就行了吗?我这样做怎么不更新呢?放错位置了?
如果不能,要是我想根据数据库的数据实时更新页面上的显示,是不是要写在Timer1_Tick事件里?
望详解!
是不是timer控件每次刷新它都不执行页面的pageload事件?每一次都执行page_load事件〔但是对不想每次执行的部分ispostback属性控制。〕
可以让timer执行page_load事件吗?行。
scriptmanager要放在页面的最上面,不能在updatepanel中。timer设置事件后、还要设置timer的更新频率属性。
实时问题,不能实现实时的数据更新、只能实现定时检索数据变化的方式、
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
protected void Timer1_Tick(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString();
}
想要实时更新的话,用Timer也无法做到,只能做到定时更新.
要实现GridView的更新,主要是要注意在pageload事件中:GridView1.DataBind();
ajax
//用JQUERY ,JQUERY.TIMER.JS实现ajax定时请求
$("#ddl_layout_id").everyTime(invTimer, 'controlled', function()
{
AyscShowRealInfo();
});
function AyscShowRealInfo()
{
$.ajax({
type:"POST",
url:"backData.aspx",//后台页直接生成一个GridView,然后把页面内容复制到当前页的容器中
dataType: "json",
data:"vtype=GetRealLocInfo",
beforeSend:function()
{
$("#lab_coordinate").html("<img src='images/loading.gif' />loading");
},
error:function(da)
{
var k=da.responseText.indexOf("<title>");
var m=da.responseText.indexOf("</title>");
var eMessage=da.responseText.substr(k+7,m-k-7);
alert(eMessage);
$("#lab_coordinate").html(eMessage);
},
success:function(data)
{
}
});
}
用JS定时刷新吧,思路简单。
<script language="javascript">
function myrefresh()
{
window.location.href="login.aspx";
}
setTimeout(myrefresh,2000); //指定2秒刷新一次
</script>
你把页面reload事件放到timer控件里就可以了 啊