我做的是一个网上投票的系统,投票时可以设置投票时间,超过时间就不能投票了,页面强制跳转到其他页面。这如何实现啊?
目前我用的是timer类,
public void OnTimer(Object source, ElapsedEventArgs e)
{
time--;
if (time == 0)
{
Response.Redirect("zhuye.aspx");
}
}
但是这样报错说,响应在此上下文不可用。
在网上搜了搜,有的说,要改成
public void OnTimer(Object source, ElapsedEventArgs e)
{
time--;
if (time == 0)
{
System.Web.HttpContext.Current.Response.Redirect("zhuye.aspx");
}
}
但是这样也有错,错误:未将对象引用设置到对象实例。
特来求助,有谁能帮忙给解决下。不一定必须用,timer类。只要能实现定时跳转的功能就行了。
目前我用的是timer类,
public void OnTimer(Object source, ElapsedEventArgs e)
{
time--;
if (time == 0)
{
Response.Redirect("zhuye.aspx");
}
}
但是这样报错说,响应在此上下文不可用。
在网上搜了搜,有的说,要改成
public void OnTimer(Object source, ElapsedEventArgs e)
{
time--;
if (time == 0)
{
System.Web.HttpContext.Current.Response.Redirect("zhuye.aspx");
}
}
但是这样也有错,错误:未将对象引用设置到对象实例。
特来求助,有谁能帮忙给解决下。不一定必须用,timer类。只要能实现定时跳转的功能就行了。
<script type="text/javascript">
function getmessage() {
//document.getElementById("message").innerHTML = 5;
var s = document.getElementById("message").innerHTML;
if (s > 1) {
document.getElementById("message").innerHTML = s - 1;
setTimeout(getmessage, 1000);
}
else {
window.location.href = 'Default2.aspx';
}
//alert(s);
}
</script><body onload="getmessage()">
<form id="form1" runat="server">
<p>页面将在 <span id="message">10</span> 秒后自动跳转...</p>
</form>
</body>
function DigitalTime1(deadline,obj)
{
deadline= new Date(deadline);
var now = new Date();
var diff = -480 - now.getTimezoneOffset() //是北京时间和当地时间的时间差
var leave = (deadline.getTime() - now.getTime()) + diff*60000
var day = Math.floor(leave / (1000 * 60 * 60 * 24))
var hour = Math.floor(leave / (1000*3600)) - (day * 24)
var minute = Math.floor(leave / (1000*60)) - (day * 24 *60) - (hour * 60)
var second = Math.floor(leave / (1000)) - (day * 24 *60*60) - (hour * 60 * 60) - (minute*60)
var strResult ="距结束还有";
if(leave<0)
{
//到时间-就跳转
location.href='zhuye.aspx';
}
else
{
strResult += day*24 + hour +"小时";
strResult += minute +"分钟";
strResult += second +"秒";
obj.innerHTML= strResult;
setTimeout(function(){DigitalTime1(deadline,obj)},1000);
}
obj.innerHTML= strResult;
}
{ System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
base.Render(htw);
writer.Write(sw.ToString().Replace("<body", "<body onload=javascript:setup();"));
}
或
window.onload = function() {
}
这个可以用,但是页面会变形,不知道为什么呢