ASP.NET实现无刷新倒计时功能
2010-11-01 15:44
323 查看
首先是在asp.net,html视图中添加如下主要代码:
1、ajax技术目的实现无刷新
<script type="text/javascript">
var WillDoXmlHttp;
function Countdown()
{
setInterval("WillDo()",1000);
}
function WillDo()
{
createWillDoXmlHttpRequest();
var url = "CountDown.aspx";
WillDoXmlHttp.open("Get", url, true);
WillDoXmlHttp.onreadystatechange = WillDoCallback;
WillDoXmlHttp.send(null);
}
function createWillDoXmlHttpRequest()
{
if (window.XmlHttpRequest)
{
WillDoXmlHttp = new XmlHttpRequest();
}
else if (window.ActiveXObject)
{
try
{
WillDoXmlHttp = new ActiveXObject("MsXml2.XmlHTTP");
}
catch (e1)
{
try
{
WillDoXmlHttp = new ActiveXObject("Microsoft.XmlHTTP");
}
catch (e2)
{}
}
}
return WillDoXmlHttp;
}
function WillDoCallback()
{
if (WillDoXmlHttp.readyState == 4)
{
if (WillDoXmlHttp.status == 200)
{
var dbsyContent = document.getElementById("divCountDown");
dbsyContent.innerHTML = WillDoXmlHttp.responseText;
}
}
window.status="";
}
</script>
2、在body处添加调用ajax代码,目的是为了页面一加载就调用
<body onload="Countdown();">
3、添加一个div,放置倒计时内容
<div id="divCountDown"></div>
其次:添加页面处理倒计时功能实现(这里新增的页面为:CountDown.aspx)
在cs页面代码中加入如下代码:
protected void Page_Load(object sender, EventArgs e)
{
ShowCountDown(GetValidDate());
}
/// <summary>
/// 得到结束时间
/// </summary>
/// <returns></returns>
private DataTable GetValidDate()
{
DataSet dsProgram = "这里是从数据库获取结束时间的代码";
return dsProgram.Tables[0];
}
private void ShowCountDown(DataTable dtEndtime)
{
//当前时间
DateTime dtStart = System.DateTime.Now;
//结束时间
DateTime dtEnd = DateTime.Parse(dtEndtime.Rows[0]["Endtime"].ToString());
//获取两个时间之间的间隔
TimeSpan ts = dtEnd.Subtract(dtStart);
StringBuilder sbTable = new StringBuilder("<table width=100% border=0 cellpadding=0 cellspacing=/"3/" align=left>");
sbTable.Append("<tr>");
sbTable.Append("<td>");
sbTable.Append("本日学生票团购剩余时间:");
//sbTable.Append("<font color='darkred'>" + ts.Days.ToString() + "</font>天 ");
sbTable.Append("<font color='darkred'>"+((ts.Hours<10)?("0"+ts.Hours.ToString()):ts.Hours.ToString())+"</font>小时 ");
sbTable.Append("<font color='darkred'>" + ((ts.Minutes < 10) ? ("0" + ts.Minutes.ToString()) : ts.Minutes.ToString()) + "</font>分 ");
sbTable.Append("<font color='darkred'>" + ((ts.Seconds < 10) ? ("0" + ts.Seconds.ToString()) : ts.Seconds.ToString()) + "</font>秒 ");
sbTable.Append("</td>");
sbTable.Append("</tr>");
sbTable.Append("</table>");
Response.AppendHeader("Cache-Control", "no-cache");
Response.Write(sbTable.ToString());
Response.End();
}
最后完成!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nhpyliner/archive/2010/06/06/5651165.aspx
1、ajax技术目的实现无刷新
<script type="text/javascript">
var WillDoXmlHttp;
function Countdown()
{
setInterval("WillDo()",1000);
}
function WillDo()
{
createWillDoXmlHttpRequest();
var url = "CountDown.aspx";
WillDoXmlHttp.open("Get", url, true);
WillDoXmlHttp.onreadystatechange = WillDoCallback;
WillDoXmlHttp.send(null);
}
function createWillDoXmlHttpRequest()
{
if (window.XmlHttpRequest)
{
WillDoXmlHttp = new XmlHttpRequest();
}
else if (window.ActiveXObject)
{
try
{
WillDoXmlHttp = new ActiveXObject("MsXml2.XmlHTTP");
}
catch (e1)
{
try
{
WillDoXmlHttp = new ActiveXObject("Microsoft.XmlHTTP");
}
catch (e2)
{}
}
}
return WillDoXmlHttp;
}
function WillDoCallback()
{
if (WillDoXmlHttp.readyState == 4)
{
if (WillDoXmlHttp.status == 200)
{
var dbsyContent = document.getElementById("divCountDown");
dbsyContent.innerHTML = WillDoXmlHttp.responseText;
}
}
window.status="";
}
</script>
2、在body处添加调用ajax代码,目的是为了页面一加载就调用
<body onload="Countdown();">
3、添加一个div,放置倒计时内容
<div id="divCountDown"></div>
其次:添加页面处理倒计时功能实现(这里新增的页面为:CountDown.aspx)
在cs页面代码中加入如下代码:
protected void Page_Load(object sender, EventArgs e)
{
ShowCountDown(GetValidDate());
}
/// <summary>
/// 得到结束时间
/// </summary>
/// <returns></returns>
private DataTable GetValidDate()
{
DataSet dsProgram = "这里是从数据库获取结束时间的代码";
return dsProgram.Tables[0];
}
private void ShowCountDown(DataTable dtEndtime)
{
//当前时间
DateTime dtStart = System.DateTime.Now;
//结束时间
DateTime dtEnd = DateTime.Parse(dtEndtime.Rows[0]["Endtime"].ToString());
//获取两个时间之间的间隔
TimeSpan ts = dtEnd.Subtract(dtStart);
StringBuilder sbTable = new StringBuilder("<table width=100% border=0 cellpadding=0 cellspacing=/"3/" align=left>");
sbTable.Append("<tr>");
sbTable.Append("<td>");
sbTable.Append("本日学生票团购剩余时间:");
//sbTable.Append("<font color='darkred'>" + ts.Days.ToString() + "</font>天 ");
sbTable.Append("<font color='darkred'>"+((ts.Hours<10)?("0"+ts.Hours.ToString()):ts.Hours.ToString())+"</font>小时 ");
sbTable.Append("<font color='darkred'>" + ((ts.Minutes < 10) ? ("0" + ts.Minutes.ToString()) : ts.Minutes.ToString()) + "</font>分 ");
sbTable.Append("<font color='darkred'>" + ((ts.Seconds < 10) ? ("0" + ts.Seconds.ToString()) : ts.Seconds.ToString()) + "</font>秒 ");
sbTable.Append("</td>");
sbTable.Append("</tr>");
sbTable.Append("</table>");
Response.AppendHeader("Cache-Control", "no-cache");
Response.Write(sbTable.ToString());
Response.End();
}
最后完成!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nhpyliner/archive/2010/06/06/5651165.aspx
相关文章推荐
- ASP.NET实现无刷新倒计时功能
- ASP.NET实现无刷新倒计时功能,团购倒计时
- ASP.NET使用ajax实现分页局部刷新页面功能
- 如何用ASP.NET实现倒计时功能
- ASP.NET中怎样实现图片验证码功能,并且点击图片会刷新
- AspnetMvc实现无刷新省市联动功能
- asp.net中js调用服务端方法,服务端调用JS,实现无刷新的倒计时
- asp.net+ajax+json来实现无刷新分页功能
- Ajax(asp.net)技术实现异步刷新和控件功能示例流程
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET实现comet的聊天交互功能
- asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)
- 用jQuery实现asp.net 2.0 treeview控件完全无刷新操作实例(AJAX的增、删、改、选择以及展开收缩节点)
- [转]也说 Jquery+ASP.NET 实现开心网上传头像剪裁功能
- asp.net中用FileStream类实现下载文件功能,自定义下载路径,像IE下载一样
- Asp.net(C#)实现验证码功能
- IIS7中 ASP.NET授权功能如何实现对静态文件的控制
- Asp.net 2.0 C#实现压缩/解压功能
- Asp.NET 中写存储过程执,实现上一篇,下一篇文章功能
- Asp.net如何使用access数据库做profile实现按照区域显示相应语言功能