asp.net+ajax倒计时问题

一朵-奇葩 2011-09-30 04:17:53
这段时间在做一个考务系统,但在学生考试页面的倒计时遇到了点问题,在考试时间结束的时候不能自动交卷,要随意点击一个按钮才会交卷,我要的效果是不用点击,时间到了自动交卷,不知道怎么解决,希望大家帮帮忙!急用!!!下面是代码:
后台代码:
public static int timenull; //总时间
public static int sheng; //剩余时间
//倒计时
protected void Timer1_Tick(object sender, EventArgs e)
{
int minute; //当前分钟
int second=0; //秒

DateTime dt = PExBLL.NewTime(); //获取服务器时间
DateTime sf = ENDTIME;

if (dt < sf)
{
TimeSpan ts = dt.Subtract(sf).Duration(); //当前考试的总时间
timenull = ts.Days * 24 * 60 * 60 + ts.Hours * 60 * 60 + ts.Minutes * 60 + ts.Seconds; //把当前考试的总时间转换为秒

if (timenull > 0)
{
timenull--;
minute = timenull / 60;
second = timenull % 60;
lblTime.Text = string.Format("{0:00}分钟{1:00}秒", minute, second);
}

}
else
{

ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), " ", "alert('考试时间已到,系统将自动提交试卷')", true); //给出提示
Result(); //强行交卷
}

}
//倒计时
protected void Timer1_Load(object sender, EventArgs e)
{
int minute; //当前分钟
int second; //秒

DateTime dt = PExBLL.NewTime(); //获取服务器时间
DateTime sf = ENDTIME;

if (dt < sf)
{

TimeSpan ts = dt.Subtract(sf).Duration(); //当前考试的总时间
timenull = ts.Days * 24 * 60 * 60 + ts.Hours * 60 * 60 + ts.Minutes * 60 + ts.Seconds; //把当前考试的总时间转换为秒

if (timenull > 0)
{
minute = timenull / 60;
second = timenull % 60;
lblTime.Text = string.Format("{0:00}分钟{1:00}秒", minute, second);
}

}
else
{
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), " ", "alert('考试时间已到,系统将自动提交试卷')", true); //给出提示
Result(); //强行交卷
}
}


...全文
263 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010620082 2014-05-05
  • 打赏
  • 举报
回复
zou0702tao 2011-09-30
  • 打赏
  • 举报
回复
js判断时间,时间到了调用提交按钮的click方法就行了!
truecoffeefox 2011-09-30
  • 打赏
  • 举报
回复
开始答卷时页面js显示倒计时时间,走到0弹出提示并提交后台计算成绩

觉得不可靠可以再用js定时查询服务器时间,然后更新倒计时,单纯的授时操作对服务器压力不大
myhope88 2011-09-30
  • 打赏
  • 举报
回复
一般是js读取数据库的时间,然后倒计时,等到时间了,再触发按钮事件
wangzhi0321 2011-09-30
  • 打赏
  • 举报
回复
帮顶下吧,刚才想了一个方法考虑到不安全,没给出,等待高手来解答
zou0702tao 2011-09-30
  • 打赏
  • 举报
回复
服务器端的代码是需要回发才能执行的,你虽然服务器端时间到了,但是客户端它没有回发是不会执行的,你必须通过js代码让它回发
zou0702tao 2011-09-30
  • 打赏
  • 举报
回复
是C/S还是B/S?
一朵-奇葩 2011-09-30
  • 打赏
  • 举报
回复
考试都是用服务器端的吧,客服端会存在时间不正确的情况,那就会没到考试时间或考试时间已过
一朵-奇葩 2011-09-30
  • 打赏
  • 举报
回复
那怎么???
zou0702tao 2011-09-30
  • 打赏
  • 举报
回复
页面不回发,怎么触发事件?用客户端时间判断吧
魂千 2011-09-30
  • 打赏
  • 举报
回复
除非用的人不多...否则我觉得这样搞服务器的压力会很大。。。

62,071

社区成员

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

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

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

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