AJAX学习之Atlas框架之定时无刷新读取数据库

80酷酷网    80kuku.com

  ajax|定时|数据|数据库|刷新|无刷新通过上次那个Hello,World的基本ATLAS程序的联系,对于ATLAS我们可能只有一大概的印象.那么我们有要开始实现我们的目标:定时无刷新的随机显示数据库中的一条数据和按下按钮来显示数据库中的一条数据.
方式:ASP.NET的客户端控件.(我们知道ASP.NET是用服务器端控件的.客户端的控件就是以前普通的HTML表单控件.对于服务器端的实现我们在下次解决.其实我们以前的实现方式都是基于客户端的实现方式如果要与ASP.NET结合我们就要换成另外一种方式,当然ATLAS是提供了服务器端控件以实现服务器端的AJAX应用.)
通过上次的那篇文章,我们知道其实ATLAS的AJAX实现方式是用一个客户端的JS代码加一个服务器端的Web Service(我觉的MICROSOFT就是会替自己考虑,建立一个ATLAS应用可以顺便利用下Web Service )
现在开始我们代码的书写.
页面代码: 
 程序代码

<form id="formrefresh" runat="server">
<div>
<div id="EngCnb"><div id="FamousDivb" class="AlDivb"><a href = "http://www.flysblog.com" target="_blank">天涯路远</a> --- 君在天涯,天涯在我心。 -----倾力打造 </div></div>

<div id="EngCn"><div id="FamousDiv" class="AlDiv">名人名言正在载入...</div></div>
<script type="text/javascript">
window.setTimeout("StartFamous()",1000);
</script>
<div><div id="Div1"><div id="Div2" class="AlDivb"> 
<input id="txtFamous" >   
<input id="btnGet" type="button" value="获取名言" onclick = "DoSearch()"/></div></div>

</div>
</div>
</form>



部分页面的JS代码:

 程序代码

function StartFamous()
{
DoSearchTimer();
 window.setInterval("DoSearchTimer()",EngCTime*1000);

}
function DoSearchTimer()
{
Samples.AspNet.getFamousService.getFamous(OnRequestCompleteTimer);
}

function OnRequestCompleteTimer(result)
{
ChangeFamous(result);
}

function DoSearch()
{
//var SrchElem = document.getElementById("SearchKey");
Samples.AspNet.getFamousService.getFamous(OnRequestComplete);
}

function OnRequestComplete(result)
{
document.formrefresh.txtFamous.value = result;
}



照例我们新建一个Web Service代码如下

 程序代码

using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.OleDb;

namespace Samples.AspNet
{
/// <summary>
/// HelloWorldService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class getFamousService : System.Web.Services.WebService
{

public getFamousService()
{

//如果使用设计的组件,请取消注释以下行 
//InitializeComponent(); 
}

[WebMethod]
public string getFamous()
{
//string inputString = Server.HtmlEncode(query);
//if (!String.IsNullOrEmpty(inputString))
//{
// return String.Format("Hello, you queried for {0}. The "
// + "current time is {1}", inputString, DateTime.Now);
/

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: