label的刷新问题

haowenyao 2010-08-24 05:30:11
我用vs2005(asp.net)做了一个定时器,想在lable上实现定时计数的功能,为什么我的lable不变化呢?

using System.Timers;
Timer tm;
int count = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
tm = new Timer(3000);
tm.Enabled = true;
tm.Elapsed += new ElapsedEventHandler(TimerOut);
tm.Start();
}
}
private void TimerOut(object sender, System.EventArgs e)
{

tm.Enabled = false;
count+=1;
if(count>=100)
{
count = 0;
}
string str;
str = Convert.ToString(count);
Label1.Text = "str";
tm.Enabled = true;

}
...全文
295 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-08-24
  • 打赏
  • 举报
回复
ajax timer
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
<asp:Timer ID="Timer1" runat="server" Interval="3000" OnTick="Timer1_Tick">
</asp:Timer>
protected void Timer1_Tick(object sender, EventArgs e)
{
Label1.Text =DateTime.Now.ToLongTimeString();
}
离洛 2010-08-24
  • 打赏
  • 举报
回复
你放没放timer控件啊;选定timer控件,
属性—事件—tick;双击,把你写的那些东西放到这个事件里面就OK;
haowenyao 2010-08-24
  • 打赏
  • 举报
回复
asp.net没有timer控件,是找不到Timer1_Tick事件的。所以只能手动写代码做成一个定时器
离洛 2010-08-24
  • 打赏
  • 举报
回复
发方法放到Timer1_Tick()里面;否定6楼的说法;放Page_Load里面只是加载时候运行一次;
haowenyao 2010-08-24
  • 打赏
  • 举报
回复
可是在asp.net中,label并没有InvokeRequired这个成员。this也没有BeginInvoke这个东西呀
rwm5366745 2010-08-24
  • 打赏
  • 举报
回复

Label1.Text = "str";??????

Label1.Text =str
高三石 2010-08-24
  • 打赏
  • 举报
回复
study!
claymore1114 2010-08-24
  • 打赏
  • 举报
回复
js 实现。
哒哒 2010-08-24
  • 打赏
  • 举报
回复
把这个方法private void TimerOut(object sender, System.EventArgs e)
放到
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
里面让它加载同时运行那个方法
wang15072732418 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ku3gitxdx 的回复:]
System.Timers.Timer
这个别一个线程里的定时器,和主窗体控件不是一个线程,需要委托.
[/Quote]
恩,是这样的
jinguanghai 2010-08-24
  • 打赏
  • 举报
回复
来看答案,路过
指尖魔术师 2010-08-24
  • 打赏
  • 举报
回复
System.Timers.Timer
这个别一个线程里的定时器,和主窗体控件不是一个线程,需要委托.
指尖魔术师 2010-08-24
  • 打赏
  • 举报
回复

public delegate void SetTime(string time);
public void ShowLabel(string time)
{
if (this.label.InvokeRequired)
{
this.BeginInvoke(new SetTime(time));
}
else
{
this.label.Text = time;
}
}

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧