用一个定时器 Timer 啊
很简单的
MSDN 有示例

解决方案 »

  1.   

    用Timer控件,然后在事件里加入此代码即可
      

  2.   

    这是webfrom的 一个aspx页面
      

  3.   

    用一个死循环while(true)即可,在里面判断时间到了,就执行程序;次数到了就跳出循环
      

  4.   

    我晕,webfrom不可以的使页面自动刷新吧
      

  5.   

    那用JS写个程序
    setTimeout函数
    设30秒 每次执行重新取回页面的操作
    就会重新计时
    而取回页面的时候
    服务端执行那个for一轮
      

  6.   

    用JS 调用服务器 方法就行了JS方法setTimeout(“函数名”,“间隔时间”)函数
    setTimeout(“abc()”,“1000”)
      

  7.   

    拷别人的代码,写在global中
    protected void Application_Start(Object sender, EventArgs e)
    {
    System.Timers.Timer t=new System.Timers.Timer(1000*10);//每10秒触发一次
    t.AutoReset=true;
    t.Enabled=true;
    t.Elapsed +=new System.Timers.ElapsedEventHandler(yourFun);
    }private void yourFun(object sender, System.Timers.ElapsedEventArgs e)
    {
    for(int i=0;i<to.Length;i++)
            {
                
                    PopMail mail_1 = new PopMail();
                    mail_1.UserName = Tb_user.Text.ToString().Trim();
                    mail_1.Password = Tb_pwd.Text.ToString().Trim();
                    mail_1.SmtpServer = Tb_smtp.Text.ToString().Trim();
                    mail_1.Send(to[i], Tb_from.Text.ToString().Trim(), Tb_zt.Text.ToString().Trim(), Tb_body.Text.ToString().Trim());
            }
    }
      

  8.   

    用js调用cs里面的函数?这个还真没弄过,那个大哥,给个完整代码?多谢了
      

  9.   

    你把CS函数写在一个aspx里的page_load里
    用js去调用,自然就会执行一次
    就是这个意思
    不是直接调用
    直接不可能调用
      

  10.   

    我如果用一个按钮的单击时间触发yourFun()函数的话,程序怎么运行那?那个循环会10秒钟执行一次,依次把收件人,依次发送邮件?protected void Application_Start(Object sender, EventArgs e)
    {
    System.Timers.Timer t=new System.Timers.Timer(1000*10);//每10秒触发一次
    t.AutoReset=true;
    t.Enabled=true;
    t.Elapsed +=new System.Timers.ElapsedEventHandler(yourFun);
    }private void yourFun(object sender, System.Timers.ElapsedEventArgs e)
    {
    for(int i=0;i<to.Length;i++)
            {
                
                    PopMail mail_1 = new PopMail();
                    mail_1.UserName = Tb_user.Text.ToString().Trim();
                    mail_1.Password = Tb_pwd.Text.ToString().Trim();
                    mail_1.SmtpServer = Tb_smtp.Text.ToString().Trim();
                    mail_1.Send(to[i], Tb_from.Text.ToString().Trim(), Tb_zt.Text.ToString().Trim(), Tb_body.Text.ToString().Trim());
            }
    }
      

  11.   


         Thread.Sleep(30*1000);
         这个是正确的
      

  12.   

    最后加上Thread.Sleep(30*1000);???
    在那里加这段代码?
      

  13.   

    http://blog.csdn.net/net_lover/archive/2003/08/27/6943.aspx
      

  14.   

    http://dotnet.aspx.cc/Web/WebApplication1.zip
      

  15.   

    js调用后台只有ajax了难道你要每30s发送一次mail不成?
      

  16.   

    其实你可以设置一个隐藏得按钮按钮的后台写成
    PopMail mail_1 = new PopMail();
                    mail_1.UserName = Tb_user.Text.ToString().Trim();
                    mail_1.Password = Tb_pwd.Text.ToString().Trim();
                    mail_1.SmtpServer = Tb_smtp.Text.ToString().Trim();
                    mail_1.Send(to[i], Tb_from.Text.ToString().Trim(), Tb_zt.Text.ToString().Trim(), Tb_body.Text.ToString().Trim());然后前台写一个javascript setinterval 每30秒 __doPostback这个按钮不过别忘了先验证你tb的有效性
      

  17.   

    比如 我在文本框内有这种格式的文本列表:
    [email protected];[email protected];[email protected]
    然后用string [] to=Tb_maillist.Text.Split(';');取出每个地址
    用上面的循环一个一个发,但是加个延迟时间,比如 30秒或者1分钟都可以,不怕慢,就怕发送不成功,我不是发垃圾邮件做广告,是我们公司给自己会员发通知用
      

  18.   

    System.Threading.Thread.Sleep(30000);
     现在解决了,在循环内最后加上面一句代码!就行了另外,还有一个问题,怎么判断,发送的邮件已经发送成功??和失败?
      

  19.   

    楼上是什么意思,在webfrom里面可以用?