mvc中使用Javascript的定时器
下面是我的应用程序的控制器和视图,来自控制器m,通过持续时间中的开始时间和结束时间差,我想访问此持续时间以查看页面,这样我可以将持续时间值分配给“javascript定时器”,并启动我使用viewbag完成的时钟,但我得到空值我正在进行在线考试,我想在用户单击开始时启动计时器,如倒计时 在它中,任何人都可以通过在mvc中获取两次之间的差异来帮助我创建一个计时器控件吗mvc中使用Javascript的定时器,javascript,asp.net-mvc,Javascript,Asp.net Mvc,下面是我的应用程序的控制器和视图,来自控制器m,通过持续时间中的开始时间和结束时间差,我想访问此持续时间以查看页面,这样我可以将持续时间值分配给“javascript定时器”,并启动我使用viewbag完成的时钟,但我得到空值我正在进行在线考试,我想在用户单击开始时启动计时器,如倒计时 在它中,任何人都可以通过在mvc中获取两次之间的差异来帮助我创建一个计时器控件吗 public ActionResult ApplyForTest(int Test_Id) {
public ActionResult ApplyForTest(int Test_Id)
{
EAssessmentNew.BAL.StudentBal stuBal = new EAssessmentNew.BAL.StudentBal();
ViewBag.TestId = Test_Id;
DataTable testSchedule = stuBal.getTestDateTime(Test_Id);
ViewBag.Sysdate = DateTime.Now.ToShortDateString();
ViewBag.SysTime = DateTime.Now.ToShortTimeString();
for (int i = 0; i < testSchedule.Rows.Count; i++)
{
Test Date_Time = new Test();
ViewBag.Test_Date = testSchedule.Rows[i]["Test_Date"].ToString();
ViewBag.Start_Time = testSchedule.Rows[i]["Start_Time"].ToString();
ViewBag.End_Time = testSchedule.Rows[i]["End_Time"].ToString();
DateTime strtTime = DateTime.Parse(ViewBag.Start_Time);
DateTime endTime = DateTime.Parse(ViewBag.End_Time);
TimeSpan duration = (endTime - strtTime);
ViewBag.a = duration;
}
return View();
}
@model List<EAssessmentNew.Models.Question>
@{
ViewBag.Title = "TestStarted";
Layout = "~/Views/StudentMaster.cshtml";
TimeSpan t = ViewBag.a;
}
<script src="~/Scripts/jquery.js"></script>
<script src="~/Scripts/jquery-1.5.1.js"></script>
<script type="text/javascript">
var myVar = setInterval(myTimer, 1000);
var d = '@ViewBag.duration';
alert(d);
var testDate = '@ViewBag.Test_Date';
var startTime = '@ViewBag.Start_Time';
var EndTime = '@ViewBag.End_Time';
d.setHours(00, d, 59, 00);
function myTimer() {
if (d.getSeconds() <= 1)
d.setMinutes(d.getMinutes() - 1, 59, 00);
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds() - 1;
if (m == 0 && s == 1)
window.location.href = "showresults.aspx";
document.getElementById("lblCtime").innerHTML = h + ":" + m + ":"s;
d.setMinutes(m, s);
//setInterval(myTimer, 1000);
}
</script>
public ActionResult ApplyForTest(int Test\u Id)
{
EAssessmentNew.BAL.StudentBal stuBal=新EAssessmentNew.BAL.StudentBal();
ViewBag.TestId=测试Id;
DataTable testSchedule=stuBal.getTestDateTime(测试Id);
ViewBag.Sysdate=DateTime.Now.ToSortDateString();
ViewBag.SysTime=DateTime.Now.ToShortTimeString();
for(int i=0;i 如果(d.getSeconds()我会认真研究一下SignalR,而不是在javascript中这样做。你可以让你的计时器在服务器上运行,连接到SignalR hub的特定web连接,然后让SignalR hub向你的javascript方法广播运行的时钟。标点符号。请提一下,这就是ASP.NET MVC