急死了。让循环隔30秒或者指定时间运行一次,在线等,大侠支招! 用一个定时器 Timer 啊很简单的MSDN 有示例 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用Timer控件,然后在事件里加入此代码即可 这是webfrom的 一个aspx页面 用一个死循环while(true)即可,在里面判断时间到了,就执行程序;次数到了就跳出循环 我晕,webfrom不可以的使页面自动刷新吧 那用JS写个程序setTimeout函数设30秒 每次执行重新取回页面的操作就会重新计时而取回页面的时候服务端执行那个for一轮 用JS 调用服务器 方法就行了JS方法setTimeout(“函数名”,“间隔时间”)函数setTimeout(“abc()”,“1000”) 拷别人的代码,写在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()); }} 用js调用cs里面的函数?这个还真没弄过,那个大哥,给个完整代码?多谢了 你把CS函数写在一个aspx里的page_load里用js去调用,自然就会执行一次就是这个意思不是直接调用直接不可能调用 我如果用一个按钮的单击时间触发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()); }} Thread.Sleep(30*1000); 这个是正确的 最后加上Thread.Sleep(30*1000);???在那里加这段代码? http://blog.csdn.net/net_lover/archive/2003/08/27/6943.aspx http://dotnet.aspx.cc/Web/WebApplication1.zip js调用后台只有ajax了难道你要每30s发送一次mail不成? 其实你可以设置一个隐藏得按钮按钮的后台写成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的有效性 比如 我在文本框内有这种格式的文本列表:[email protected];[email protected];[email protected]然后用string [] to=Tb_maillist.Text.Split(';');取出每个地址用上面的循环一个一个发,但是加个延迟时间,比如 30秒或者1分钟都可以,不怕慢,就怕发送不成功,我不是发垃圾邮件做广告,是我们公司给自己会员发通知用 System.Threading.Thread.Sleep(30000); 现在解决了,在循环内最后加上面一句代码!就行了另外,还有一个问题,怎么判断,发送的邮件已经发送成功??和失败? 楼上是什么意思,在webfrom里面可以用? asp.net ajax 乱码问题 GridView的TemplateField内的控件如何得到当前主键值? 当updatepanel更新时,pageload执行吗? 未将对象引用设置到对象的实例 iis6中的ftp不支持主机头名啊? 关于.net控件 .net 如何使用cookies数组 一个javascript的问题 在C#中如果求4开根号10的结果? 在本机可以建 Asp.net项目,但在另一服务器上建却死活不行,提示见内:!??? 菜鸟请教!!!出库问题 如何取出磁盘下的目录并生成菜单啊
setTimeout函数
设30秒 每次执行重新取回页面的操作
就会重新计时
而取回页面的时候
服务端执行那个for一轮
setTimeout(“abc()”,“1000”)
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());
}
}
用js去调用,自然就会执行一次
就是这个意思
不是直接调用
直接不可能调用
{
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());
}
}
Thread.Sleep(30*1000);
这个是正确的
在那里加这段代码?
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的有效性
[email protected];[email protected];[email protected]
然后用string [] to=Tb_maillist.Text.Split(';');取出每个地址
用上面的循环一个一个发,但是加个延迟时间,比如 30秒或者1分钟都可以,不怕慢,就怕发送不成功,我不是发垃圾邮件做广告,是我们公司给自己会员发通知用
现在解决了,在循环内最后加上面一句代码!就行了另外,还有一个问题,怎么判断,发送的邮件已经发送成功??和失败?