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

转载 2006年06月07日 16:33:00
标题:AJAX学习之Atlas框架之定时无刷新读取数据库
做人要厚道,转载请说明出处
天涯路远 http://www.flysblog.com
文章源代码:下载文件点击下载此实例代码

通过上次那个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" style="width: 500px" type="text" />
   
<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);
//}
//else
//{
// return "The query string was null or empty";
//}
string db = Server.MapPath("famousDB/famous.mdb");
int uidd = 1;
OleDbDataReader rd = null;
OleDbConnection conn = null;
try
{
System.Random r = new Random();
uidd = r.Next(1,69);
string sql = "select Top 1 * from famous where id="+ uidd.ToString();
conn = new OleDbConnection(@"Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + db + ";");
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
rd = cmd.ExecuteReader();
if(rd.HasRows)
{
rd.Read();
return rd[1].ToString();// Response.Write(@"<querys><Famous><![CDATA[" + rd[1].ToString() + @"]]></Famous></querys>");
} else {
return "null";//Response.Write(@"<querys><Famous><![CDATA[null]]></Famous></querys>");
}
}
finally
{
// always call Close when done reading.
rd.Close();
// always call Close when done reading.
conn.Close();
}

}

}
}



其实整个过程跟上次的那个Hello,world的ATLAS程序一模一样的。就是把Web Service中执行的函数换个内容.
到此你可以运行你建立的程序或者运行我提供的代码程序.你会发现实现的内容跟用自己建立的小型框架的效果一模一样.

总结
这个ATLAS的客户端应用,感觉MICROSOFT没有象AJAX.NET PRO的AJAX框架一样,实现客户端的JS代码直接调用服务器端的函数代码,而是通过了中介Web Service.虽然AJAX.NET PRO让我非常的郁闷。但是它能直接调用服务器端的方法这点倒是很好(虽然我自己没有调试通那个代码,只实现了简单的字符返回,没有实现数据库的读取).下一个应用我们将用服务器端的控件来实现这个应用.

Asp net的Ajax定时读取数据库 附源码

  • 2014年08月15日 16:19
  • 30KB
  • 下载

Ajax无刷新实现定时更新数据

1、引用 ajax.dll 实现走动时间显示来查看效果前台代码          //定时更新时间          function refresh()          {            ...
  • selfxd
  • selfxd
  • 2008-06-05 17:21:00
  • 1435

Jquery+asp.net异步无刷新读取数据最简单示例(源码)

//ajax取值的方法  $.getJSON(url,                       function (json) {                             ...
  • dxnn520
  • dxnn520
  • 2012-09-25 19:59:57
  • 3004

用AJAX实现无刷新数据读取与显示

*******数据显示页ajax.asp:/* * Author: Wintalen * Email: winalen (at) 163.com * OICQ: 83151085 * CopyRigh...
  • Wintalen
  • Wintalen
  • 2006-07-17 11:29:00
  • 936

js+实现+无刷新定时取数据

天气预报 var xmlhttp; function getWeather() { //创建异步对象 xmlhttp=new ...
  • wem520
  • wem520
  • 2011-10-18 15:39:03
  • 6368

codeigniter 实现无刷新(ajax)分页

我们都知道codeigniter(以下都简称CI)有分页的类库,现在我们就基于其原生的类库来创建一个我们所需要的ajax分页。 首先在  /application/libraries/ 目录下建立...
  • haibrother
  • haibrother
  • 2013-08-06 09:23:38
  • 2352

ajax 定时操作数据库

var paypal_ajax= setInterval("paypal_ajax_return()", 10000); //5秒执行一次YourFunction函数。 functi...
  • fengyu19880219
  • fengyu19880219
  • 2017-01-09 16:59:52
  • 724

ajax无刷新加载数据

最近做了一个手机端的需求,里面有一个需要使用到ajax无刷新加载数据这样的功能 老样子先展示所需要实现的功能, 里面的数据是我的测试数据,随意了一点,但是能解决问题就行了,不要在意 正题...
  • hpu_yly_bj
  • hpu_yly_bj
  • 2017-05-16 15:15:10
  • 647

php+ajax实现无刷新动态加载数据技术 - 测试用了,效果还行

php+ajax实现无刷新动态加载数据技术 - 测试用了,效果还行 感觉IE下略慢,非IE速度可以,好像是不能用jquery-1.11.1.min.js,只能用网上找的代码中提供的JQuery.js...
  • zyytaiyame
  • zyytaiyame
  • 2016-12-28 10:26:46
  • 878

AJAX无刷新更新数据

script language="JavaScript">function GetResult()...{/**//**//**//**--------------- GetResult() ----...
  • hong_fu
  • hong_fu
  • 2006-10-03 10:06:00
  • 677
收藏助手
不良信息举报
您举报文章:AJAX学习之Atlas框架之定时无刷新读取数据库
举报原因:
原因补充:

(最多只允许输入30个字)