
服务器的回传会引发整个页面的刷新,怎么样只让它刷新局部呢,前几天看见书上有讲用
WebService行为的,今天试了试,效果还不错
在web目录中需要一个文件webservice.htc
可以到这里下载:
见一个WebService 文件名为Service1.asmx:
[WebService(Namespace="")]
public class TestService : System.Web.Services.WebService
{
/// <summary>
/// 返回服务器的时间
/// </summary>
[WebMethod]
public string GetServerTime()
{
return DateTime.Now.ToString()
}
}
在同级目录下进一个html文件,内容如下:
<script>
var intCallId = 0
function Init()
{
GetServerTime()
setInterval("GetServerTime()",1000)
}
function GetServerTime()
{
Service.useService("Service1.asmx?WSDL","TestService")
intCallId = Service.TestService.callService("GetServerTime")
}
function service_result()
{
if (event.result.error)
{
showresult.innerText = event.result.errorDetail.string
}
else
{
showresult.innerText = event.result.value
}
}
</script>
<html>
<body onload="Init()">
<div id="Service" style="behavior:url(webservice.htc)" onresult="service_result()"></div>
<span id=showresult></span>
</body>
</html>
我查看就可以看到一个服务器上的时间了
而且是会动的,通过这种方法就可以实现页面的局部刷新了
有两点限制:
1.行为只能用域内的web服务,因为DHTML内置的安全限制造成的
2.通过的这种方式的访问的类型会被限制,行为支持.net的基本类型和它们的数组
如:dataset,datatable得复杂类型就不支持了
统的方法是将页码以URL参数的形式传到列表页,列表页内程序根据传入的参数来显示不同的内容,这之间就有了一次刷新。然而很多时候页面中的新闻列表只占该页布局的一小部分,分了更新这小部分的内容却得刷新整个页面的内容,有人抗议了,于是之后就有人采用XMLHTTP、AJAX等技术来实现无刷新更新列表。今天我们也要实现无刷新更新列表,但不使用XMLHTTP、AJAX等新技术,只使用传统的Javascript和ASP语言来实现。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)