通过C#+AJAX实现倒计时
2007-09-17 23:23
281 查看
一、页面部分代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CountDown.aspx.cs" Inherits="CountDown" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" language=javascript>
var url;
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
//刷新
function refurbish()
{
var url="GetTime.ashx";
createXMLHttpRequest();
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange=Olympiad;
xmlHttp.send(null);
setTimeout("refurbish('"+url+"')",1000);
}
//获取2008奥运会倒计时的时间
function Olympiad()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
document.getElementById("show").innerHTML=xmlHttp.responseText;
}
}
}
</script>
</head>
<body onload="refurbish()">
<h3 align="center">奥运倒计时</h3>
<form id="form1" runat="server">
<div id="show"> </div>
</form>
</body>
</html>
二、AJAX代码部分
<%@ WebHandler Language="C#" Class="GetTime" %>
using System;
using System.Web;
public class GetTime : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
//当前时间
DateTime date=System.DateTime.Now;
//奥运开幕时间
DateTime date2 = new DateTime(2008,8,8,19,0,0);
//获取两个时间之间的间隔
TimeSpan ts = date2.Subtract(date)
String message = "今天距2008奥运会开幕还有:<font color='darkred'>"+ts.Days.ToString()+"</font>天 ";
message += "<font color='darkred'>"+((ts.Hours<10)?("0"+ts.Hours.ToString()):ts.Hours.ToString())+"</font>小时 ";
message += "<font color='darkred'>" + ((ts.Minutes < 10) ? ("0" + ts.Minutes.ToString()) : ts.Minutes.ToString()) + "</font>分 ";
message += "<font color='darkred'>" + ((ts.Seconds < 10) ? ("0" + ts.Seconds.ToString()) : ts.Seconds.ToString()) + "</font>秒"
context.Response.Write(message);
}
public bool IsReusable {
get {
return false;
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CountDown.aspx.cs" Inherits="CountDown" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" language=javascript>
var url;
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
//刷新
function refurbish()
{
var url="GetTime.ashx";
createXMLHttpRequest();
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange=Olympiad;
xmlHttp.send(null);
setTimeout("refurbish('"+url+"')",1000);
}
//获取2008奥运会倒计时的时间
function Olympiad()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
document.getElementById("show").innerHTML=xmlHttp.responseText;
}
}
}
</script>
</head>
<body onload="refurbish()">
<h3 align="center">奥运倒计时</h3>
<form id="form1" runat="server">
<div id="show"> </div>
</form>
</body>
</html>
二、AJAX代码部分
<%@ WebHandler Language="C#" Class="GetTime" %>
using System;
using System.Web;
public class GetTime : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
//当前时间
DateTime date=System.DateTime.Now;
//奥运开幕时间
DateTime date2 = new DateTime(2008,8,8,19,0,0);
//获取两个时间之间的间隔
TimeSpan ts = date2.Subtract(date)
String message = "今天距2008奥运会开幕还有:<font color='darkred'>"+ts.Days.ToString()+"</font>天 ";
message += "<font color='darkred'>"+((ts.Hours<10)?("0"+ts.Hours.ToString()):ts.Hours.ToString())+"</font>小时 ";
message += "<font color='darkred'>" + ((ts.Minutes < 10) ? ("0" + ts.Minutes.ToString()) : ts.Minutes.ToString()) + "</font>分 ";
message += "<font color='darkred'>" + ((ts.Seconds < 10) ? ("0" + ts.Seconds.ToString()) : ts.Seconds.ToString()) + "</font>秒"
context.Response.Write(message);
}
public bool IsReusable {
get {
return false;
}
}
}
相关文章推荐
- 通过C#+AJAX实现倒计时
- c#,jquery easy ui通过ajax实现异步加载tree
- C# 通过IHttpModule来实现Url Rewrite,且Session有效
- C# 通过socket实现UDP 通信
- ajax简单解析xml文件(复杂的解析可以通过后台程序实现,如一般处理程序)
- Lua的系统学习(杂)_通过Lua调用C#方法(热更新最直观的原理理解)_简单的随机数实现
- C# 软件下载插件,软件自动更新功能实现,通过cmd命令调用应用程序,应用程序实现单例启动
- 【spring】通过GZIP压缩提高网络传输效率(可以实现任何资源的gzip压缩、包括AJAX)
- C# 通过服务启动窗体(把窗体添加到服务里)实现用户交互的windows服务[转发]
- C# WinForm通过WebClient实现文件上传下载 (附源码) 分类: C#.NET
- Ajax通过jsonp实现跨域访问,访问成功但走error不走success的的问题解决
- C#通过显示接口实现解决命名冲突
- AjaxPro实现机制探讨——Ajax是如何调用服务器端C#方法的?
- 通过java代码调取C#应用程序并实现数据交互
- json格式数据取得2- 通过httphandler,从server侧取得 (jquery+ajax实现)
- ajax实现分页无刷新 (已调试通过)
- 使用Ajax的Time实现倒计时功能
- C#中通过js实现个人用户和非个人用户的登陆
- c#通过Word实现打印的代码(表格为例)
- Spring MVC 通过ajax实现前后台交互