初出茅庐

我热衷软件开发,只给最需要的人,我相信只要努力一切皆有可能

无刷新网页[数据岛技术应用]

有些时候,只是需要更新页面的一个部分甚至只是更新中间的几个数据却需要从服务器DOWN整个页面,导致各种资源的浪费。

使用数据岛技术可以很好的解决这个问题:

通过定时器或用户事件触发数据岛(XML对象)象服务器获取数据,在数据获取完成后,适时更新相关数据。

示例
HTML部分:
<xml id=xmlData src="http://localhost/WebService/LoadData/FeaturedService.asmx/GetScores"></xml>

<div id=divDataList>
<table datasrc=#xmlData width="500"  border="0" width="70%"   cellspacing="1" cellpadding="1" showalign="left" style="line-height: 140%">
<thead>
<tr bgcolor="#0033CC" style="color: #ffffff">
<td width="13%" nowrap>赛事名</td>
<td width="3%" nowrap>對賽隊伍</td>
<td width="25%">比分</td>
<td width="10%" nowrap>對賽隊伍</td>
<td width="25%">半場</td>
<td width="13%" nowrap>比赛状态</td>
</tr>
</thead>
<tbody>
<tr bgcolor="#0033CC" style="color: #ffffff">
<td width="13%" nowrap><span datafld=MatchName></span></td>
<td width="13%" nowrap><span datafld=MatchTime></span></td>
<td width="11%"  nowrap><span datafld=HostTeam></span></td>
<td width="3%" nowrap><span datafld=MatchScore></span></td>
<td width="25%"><span datafld=CustomerTeam></span></td>
<td width="10%" nowrap><span datafld=HalfScore></span></td>
<td width="25%"><span datafld=MatchState></span></td>
</tr>
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<div id=divWaitMsg>
请稍候,正在更新数据
</div>
<script language=javascript>
function ShowDataList()
{
divDataList.style.display="";
divWaitMsg.style.display="none";
setTimeout(GetNewData,10000);
}
function GetNewData()
{
divDataList.style.display="none";
divWaitMsg.style.display="";
xmlData.src=xmlData.src;
}
</script>

WebService 部分:
[WebMethod]
  public string GetScores()
  {
   string connectionString="Server=Root;database=kakai;User id=sa;password=201080";
   SqlConnection conn;
   conn=new SqlConnection(connectionString);
   string SQL;
   SqlDataAdapter Adpt;
   DataSet ds;
   SQL="Select MatchName,MatchTime, HostTeam,CustomerTeam,MatchScore,HalfScore,MatchState From ShowScores where MatchDate='11月8日'";
   Adpt=new SqlDataAdapter(SQL,conn);
   ds=new DataSet();
   Adpt.Fill(ds,"ShowScores");
return ds.Getxml();
}

新技术经历了大致几个阶段: 一、在HTML文件头里增加一个键,使该页面在设定的时间后跳转到指定的页面(包括自身);

例如:


二、使用框架然后在JS脚本里定时刷新框架内容。

上面两种方式都会重新加载页面,即刷新,给人的感觉不是很好!于是无刷新技术出现了。

三、是对第二种方式的一种变通。

即将众多框架中的一个长宽设置为0,使其不可见,然后通过脚本定时刷新该隐藏框架内容,再将该框架内容“写”到可浏览的框架里。早期的聊天室大多使用了这种技术。

真正意义上实现无刷新技术的还是以下两种技术,它们甚至可以实现局部刷新:

四、xmlHttp技术,可以通过xmlHttp访问asp页面、aspx页面、WebService等。




五、WebService,使用WebService.htc组件访问Web服务。

var OBJ;
function init(obj,op,id)
{
OBJ=obj;
?OBJ.useService("admin/DataOperation.asmx?WSDL","getBody");
?OBJ.getBody.callService(show,op,id);
}

function show(result){
OBJ.innerHTML=result.value;
}

六、Remoting,使用Remoting也可以实现无刷新技术。因为Remoting组件可以提供包括Http在内的多种访问方式,当作为Http访问时相当于一个WebService。

阅读更多
个人分类: 编程感悟
上一篇Wap开发FAQ大全
下一篇WAP上网实现步骤
想对作者说点什么? 我来说一句

html+xml幻灯片数据应用

2009年03月04日 568KB 下载

js操作xml的数据技术

2009年09月11日 4KB 下载

PHP+ajax+mysql 实现无刷新页面

2009年11月19日 19KB 下载

无刷新幻灯片源码html+xml数据

2009年03月06日 570KB 下载

数据岛的JS简单代码

2009年12月22日 18KB 下载

XML之数据

2007年10月16日 3KB 下载

ajax技术资料

2012年11月05日 33.42MB 下载

XML基础实例 数据

2011年06月29日 5KB 下载

简单网站无刷新模板

2015年04月01日 1013KB 下载

没有更多推荐了,返回首页

关闭
关闭