我只需要在一个页面上做计时器,其中代码如下:protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Timer t = new Timer(1000);
            t.Elapsed += new ElapsedEventHandler(this.TimerEventFunction);
            t.AutoReset = true;
            t.Enabled = true;
        }
    }    protected void TimerEventFunction(Object sender, ElapsedEventArgs e)
    {
        //Console.WriteLine(e.SignalTime.ToString());
        lbTime.Text = e.SignalTime.ToString();
    }
为何页面什么也没显示出来呢?求了解的帮忙解答下。谢谢!

解决方案 »

  1.   

    不要使用服务器控件的按钮,而是使用客户端控件的按钮,用ajax提交来执行服务器操作。避免页面回发和刷新。
      

  2.   

    这个是在服务端运行,客户端当然显示不出来了,用js+ajax吧
      

  3.   

    你用timer来现实对客户端的控制,说明你对web运行的原理完全不知道,即客户请求——服务器响应——返回HTML致客户端,你的timer在服务器运行,请问,怎么控制客户端?断开式连接是web的基础。AJAX的原理也是这样,只不过是模拟了客户请求,而服务器端的呈现则通过参数,所以,你要的功能,只能通过AJAX实现,当然,activex不在计算内。
      

  4.   

    页面只能ajax才行。服务器控件是不行的哟。重复数据的发生与请求。
      

  5.   

    可以使用updateplan,微软那个自带的ajax控件,后台的timer可以刷新前台,很久没用了,1年前我实现过,应该是可以的,不过有一个问题,timer开启之后就无法关闭,永久执行,这个比较蛋疼
      

  6.   

    出了pageload time对象 都释放了。。
      

  7.   

    用js 的SetTimeOut() 
    服务器端不要用了,性能太差了
      

  8.   

     protected void Timer1_Tick(object sender, EventArgs e)
        {
            this.TimeLabel.Text = DateTime.Now.ToString();
        }应该使用Tick方法。
      

  9.   

    控件害人啊,不要再玩webform这一套玩意了,不会有进步的。
      

  10.   

    直接页面js setinterval() ,再弄个变量count ++当计时器
    多简单个事
      

  11.   

    获取当前日期吗?
    设置Label插件
      <asp:Label ID="LblDateandtime" runat="server" Font-Bold="True" ForeColor="#C04000" Text="Label"
                                Width="314px"></asp:Label>
    处理加载
    protected void Page_Load(object sender, EventArgs e)
        {
            this.LblDateandtime.Text = "系统当前时间为:" + DateTime.Now.ToString();
        }
      

  12.   


    <script type="text/javascript">
    function startTime()
    {
    var today=new Date()
    var h=today.getHours()
    var m=today.getMinutes()
    var s=today.getSeconds()
    // add a zero in front of numbers<10
    m=checkTime(m)
    s=checkTime(s)
    document.getElementById('<% = txt.ClientID%>').value=h+":"+m+":"+s
    t=setTimeout('startTime()',500)
    }function checkTime(i)
    {
    if (i<10) 
      {i="0" + i}
      return i
    }
    </script><body onload="startTime()">
    <asp:TextBox id="lbTime" id="txt" runat="server"></asp:TextBox>
    </body>
      

  13.   

    使用Timer制作计时器
      private void button1_Click(object sender, EventArgs e)
            {
                DateTime get_time1 = DateTime.Now;//得到系统当前时间
                DateTime sta_ontime1 = Convert.ToDateTime(//获取定时信息
                    Convert.ToDateTime(textBox2.Text.Trim().ToString()));
                long dat = DateAndTime.DateDiff(//计算两个时间间隔的秒数
                    "s", get_time1, sta_ontime1,
                    FirstDayOfWeek.Sunday,
                    FirstWeekOfYear.FirstFourDays);
                if (dat > 0)//如果时间间隔大于0秒
                {
                    if (timer2.Enabled != true)
                    {
                        timer2.Enabled = true;//开始计时
                        label4.Text = "闹钟已启动";//显示操作信息
                        label1.Text = "剩余" + dat.ToString() + "秒";//显示剩余时间
                    }
                    else
                    {
                        MessageBox.Show(//弹出消息对话框CodeGo.net/
                            "时钟已经启动,请取消后,在启动");
                    }
                }
                else
                {
                    long hour = 24 * 3600 + dat;//计算到下一天的这个时间的秒数
                    timer2.Enabled = true;//开始计时
                    label4.Text = "闹钟已启动";//显示操作信息
                    label1.Text = "乘余" + hour.ToString() + "秒";//显示剩余时间
                }
            }
      

  14.   

    你的timer是局部变量啊 大哥,执行完page_load就释放了,怎么能成功,要使用请到设计页面 工具箱 ajax extentions 中选择 Timer 添加 别忘了加上ScriptManager
      

  15.   

    现在使用了js的计时器,但是我按某个按钮时,定时器又重新开始几时,怎么样才能在我按按钮时让定时器不刷新呢?求帮忙答疑一下!谢谢!你的页面在交互中是以“一遍遍刷新”方式来设计的。如果你盲目抄别人的代码,别人告诉你如何在页面刷新时“让定时器不刷新”了么?上面除了 #16 楼理解了你的意思,其它的回复就算是告诉你“不要用wbform控件啦”的也是没有理解你到底问什么。不管是用 webform,还是拿“纯javascript编程”说事儿,要在你不断要执行asp.net端代码来编辑复杂页面界面时的提交动作时处理好定时,都应该先搞懂深入一点的原因。因此虽然 #16 楼的回复使用了 asp.net 服务器端控件,但是最起码地只有他看明白了该如何设计这个定时器的内部机制,只不过是他选择回复你的是使用服务器端控件的设计方式而不是有些人喜欢忽悠的“纯javascript方式”。我们编程设计,一定会选择“纯javascript方式”,这个没错。但是不懂这个定时器设计机制的人,在不使用 webform 控件时大概也还是不懂这个定时机制如何设计,不懂用户在编辑复杂页面时如何跨页面刷新来显示定时器计时。这些人尚且如此,你现在既然没有可能有时间去深入学习还能有希望能学会?浅浅地随便套用一下,你是学不会的了。所以放到半年、一年以后再说吧。把这个功能需求修改为其它类似、但不需要技术含量的功能!