vs c#中为什么Timer不起作用?我要用Timer做一个2秒钟刷新一次的页面,请教,谢谢. ( 积分: 50 )

  • 主题发起人 主题发起人 noexit
  • 开始时间 开始时间
N

noexit

Unregistered / Unconfirmed
GUEST, unregistred user!
vs c#中为什么Timer不起作用?我要用Timer做一个2秒钟刷新一次的页面,请教,谢谢.
 
vs c#中为什么Timer不起作用?我要用Timer做一个2秒钟刷新一次的页面,请教,谢谢.
 
你有没有设置Timer的属性中的ENABLE为TRUE?
 
System.Timers.Timer aTimer = new System.Timers.Timer();
// 设置时间间隔为2秒钟.
aTimer.Interval=2;
aTimer.Enabled=true;
aTimer.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
 
前台页面可以用timer的吗?
 
应该可以吧,没玩过asp.net,
刷新页面的操作在函数OnTimedEvent,函数原型:
private static void OnTimedEvent(object source, ElapsedEventArgs e)
自己试试看吧,我写这个是用来控制鼠标简单移动的
 
兄弟,前台页面用 javascript 吧
 
Timer控件在WebForm中不起作用。
用JSP或HTML定时刷新吧。
 
asp.net里好象没有Timer控件的吧
 
是没有 兄台搞错了
 
Page 里 timer 无用
 
在web的形式下timer是无用的,因为每次拥护请求段开后,资源可能就已经释放了
使用js实现吧
 
前台用javaScript搞定
 
在Asp.net中原来WinForm中的Time控件就不能用了, 所以要实现在Asp.net中定时执行的业务,需要重写Asp.net下面的Time控件,如下是Delphi和.NET高手黄忠诚所写的WebTimer控件,使用时候,需要设置interval = true,enabled = true,具体怎么用自己去试吧,祝好运!
//****************************************************************************
/////////////////////////////////////////////////////////////////////////////
/// Power ASP.NET Controls
///
/// write by Jeffray Hwang in Taiwan Taipen.
/// this program is for my book: <in-Depth ASP.NET Server Controls/Components>
////////////////////////////////////////////////////////////////////////////
using System;
using System.Web.UI;
using System.ComponentModel;
using System.Collections;
using System.Text;
namespace PowerAsp.NET.Controls
{
/// <summary>
/// Summary description for WebCustomControl1.
/// </summary>
[
Designer(typeof(PowerAsp.NET.Designer.WebTimerDesigner))
]
public class WebTimer : System.Web.UI.Control,System.Web.UI.IPostBackEventHandler
{
#region private member
private int _interval=5000;
private bool _enabled=false;
private static readonly object EventTimer=new object();
#endregion
#region property
[
Browsable(false)
]
public bool Visible
{
get
{
return base.Visible;
}
set
{
base.Visible=value;
}
}
[
DefaultValue(5000),
Bindable(false),
Description("duration millisecond")
]
public int Interval {
get
{
return _interval;
}
set
{
_interval=value;
}
}
[
DefaultValue(false),
Bindable(false),
Description("Enable Timer")
]
public bool Enabled{
get
{
return _enabled;
}
set
{
_enabled=value;
}
}
#endregion
#region events
public event EventHandler Timer
{
add
{
Events.AddHandler(EventTimer,value);
}
remove
{
Events.RemoveHandler(EventTimer,value);
}
}
#endregion
#region event handler functions
protected virtual void OnTimer(EventArgs e)
{
EventHandler timerHandler=(EventHandler)Events[EventTimer];
if(timerHandler !=null)
{
timerHandler(this,e);
}
}
#endregion
#region IPostBackEventHandler implements
void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
{
OnTimer(EventArgs.Empty);
}
#endregion
#region utility functions
private string buildJavaScript()
{
StringBuilder sb=new StringBuilder();
sb.Append("/n<script language=/"javascript/"> /n <!-- ");
sb.AppendFormat("/n setTimeout( /"{0}/",{1});",
new object[] {
this.Page.GetPostBackEventReference(this),
_interval.ToString()
});
sb.Append("/n//-->/n</script>");
return sb.ToString();
}
#endregion
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender (e);
Page.GetPostBackEventReference(this,"");
}
/// <summary>
/// Render this control to the output parameter specified.
/// </summary>
/// <param name="output"> The HTML writer to write out to </param>
protected override void Render(HtmlTextWriter writer)
{
if(Page != null)
Page.VerifyRenderingInServerForm(this);
if(_enabled)
writer.Write(buildJavaScript());

}
}

}
//**************************************************************************
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部