asp.net 开发网络考试系统 倒计时功能

我做了一个asp.net网络考试系统,现在缺少一个功能,就是在考试时显示所剩时间和已考试时间,时间到了后自动提交(简单的说就是有个倒计时表实现倒计时功能)我用的是asp.... 我做了一个asp.net网络考试系统,现在缺少一个功能,就是在考试时显示所剩时间和已考试时间,时间到了后自动提交(简单的说就是有个倒计时表实现倒计时功能)
我用的是asp.net2005+sql2000,希望此功能能用timer控件实现。
展开
 我来答
ruoqingshui
2010-06-04
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
用一个timer控件,把interval设为1000(1秒),在Tick事件里处理。
protected void Timer1_Tick(object sender, EventArgs e)
{
if (minute != 0 && second == 0)
{
second = 60;
minute--;
}
else if (hour != 0 && minute == 0 && second == 0)
{
minute = 60;
hour--;
}
else if (hour == 0 && minute == 0 && second == 0)
{
Timer1.Enabled = false;
hour = 0;
minute = 0;
second = 0;
//调用提交试卷的方法
Send();
}
else
{
second--;
}

if (hour < 10)
{
lbl_hour.Text = "0"+hour.ToString();
}
else
{
lbl_hour.Text = hour.ToString();
}

if (minute < 10)
{
lbl_minute.Text = "0"+minute.ToString();
}
else
{
lbl_minute.Text = minute.ToString();
}

if (second < 10)
{
lbl_second.Text = "0"+second.ToString();
}
else
{
lbl_second.Text = second.ToString();
}
}
其中minute、second、hour是定义的全局静态变量,lbl_hour、lbl_minute、lbl_second是用来显示时间的Label控件的ID;
lewislxh
2010-06-01 · TA获得超过287个赞
知道答主
回答量:201
采纳率:0%
帮助的人:146万
展开全部
后台代码:
public partial class Timer : System.Web.UI.Page
{

private DateTime dtExam = DateTime.Parse("2009-07-22 20:42:00"); //定义时间到期时间

protected void Page_Load(object sender, EventArgs e)
{
}

protected void timerCD_Tick(object sender, EventArgs e)
{
if (this.dtExam < DateTime.Now) //如果设置的时间已过
{
this.timerCD.Enabled = false; //将Timmer置为false
labTimes.Text = "时间到!";
}
else
{
RefreshTime(); //刷新时间
}
}

private void RefreshTime() //刷新时间的方法
{
TimeSpan ts = this.dtExam - DateTime.Now; //时间差
this.labDays.Text = ts.Days.ToString().PadLeft(2, '0') + "天";
this.labTimes.Text = ts.Hours.ToString().PadLeft(2, '0') + ":" + ts.Minutes.ToString().PadLeft(2, '0') + ":" + ts.Seconds.ToString().PadLeft(2, '0');
}
}
前台:
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
时<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>分<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="timerCD" runat="server" Interval="1000" OnTick="timerCD_Tick">
</asp:Timer>
<asp:Label ID="labDays" runat="server" Width="155px"></asp:Label><asp:Label ID="labTimes" runat="server" Width="155px"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
根据你自己需求再改下吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
诸葛屠夫1982
2010-06-01 · 超过36用户采纳过TA的回答
知道答主
回答量:148
采纳率:0%
帮助的人:110万
展开全部
新建timer实例timer1,点击开始考试时timer1设置可用,然后把它的interval属性设为60000(60秒执行一次),然后在tick事件里写你要进行的判断就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式