当前位置:编程学习 > C#/ASP.NET >>

C#(asp.net)+javascript异步传输数据来加快您的网站

       交互式网页开发技术成为现在网站开发的主流技术,最大的特点在于用户体验,现在流行的ajax(异步JavaScript和XML),就是其中的技术。由于25亿企业网站管理系统是用C#(asp.net)当前最主流的开发语言来开发的,所以我们这次着重讲解C#(asp.net)+javascript 异步传输数据来加快您的网站。

         以25亿企业网站管理系统中的源码作为实例深刻讲解C#(asp.net)+javacript异步传输数据来加快您的网站。

      不知大家注意了没有,25亿企业网站管理系统前台所有页面全面是静态的html,静态的html页面要与页面交互,与数据库交互,这些要利用到的就是javascript来使现异步数据传输,静态html页面之间和数据库之间的交互。

我们先看25亿企业网站管理系统前台静态html页面多次需和数据库和动态代码交互的地方:
1,页面顶部的登陆注册区域


2,每个栏目内容的介绍页面都有一个点击次数区域


3,用户管理页面
4,在线应聘与在线留言
等等。

这些地方具体是怎么实现的呢?我一步一步来讲解:
首先,每一个页面都有一个公共的js(comm.js),此文件位置在javascript文件下。
C#(asp.net)+javascript异步传输数据主要用到的函数只有简单的以下二个:

//取得XMLHttp对象
function newXMLHttp()
{
 var XMLHttp=null;
 if (window.XMLHttpRequest)
 {
  XMLHttp=new XMLHttpRequest();
 }
 if(XMLHttp==null && window.ActiveXObject)
 {
  var clsids = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp.2.0","MSXML2.XMLHttp.1.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
  for(var i=0; i<clsids.length && XMLHttp == null; i++)
  {
   try
   {
    XMLHttp = new ActiveXObject(clsids[i]);
   }
   catch(e)
   {}
  }
 }
 return XMLHttp;
}

//POST页面
function postHTML(URL,data,func)
{
    try
    {
        var XMLHttp=newXMLHttp();
 //同步调用
 if(typeof(func)!="function")
 {
  XMLHttp.open("POST",URL, false);
  XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  XMLHttp.send(data);

  var result = XMLHttp.status; 
  var responseText=XMLHttp.responseText;
   
  if(result==200)
  {
   return responseText;
  }
  else
  {
   return false;
  }   
 }
 //异步调用
 else
 {
  XMLHttp.onreadystatechange = function()
  {
   if (XMLHttp.readyState == 4)
   {
                  if (XMLHttp.status == 200)
    {
                          var responseText = XMLHttp.responseText ;
     func(responseText);
                  }
    else
    {
     func(false);
    }
   }
  }
  XMLHttp.open("POST",URL, true);
  XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  XMLHttp.send(data);   
 }
    }
    catch(e){}
}

这些函数已经封装于comm.js文件中,如果对这些代码似懂非懂的话,也不必太在意,我们只管如何进行调用就行。
如在25亿企业网站管理系统中的前台静态html页面的点击次数的调用:

<span id="divclicknum"></span>//显示点击次数

<script type="text/javascript">//显示点击次数调用的js代码
window.setInterval(clicknum,1000);//一秒调用clicknum函数一次,以便实时正确的显示点击次数
function clicknum()
{
var remark="NewsId=22"; //参数
var sendData="itemtype=2&remark="+remark+"" //参数
var result=postHTML("../../include/click.aspx", sendData, function(result){receive_CallBack(result) }); 调用posthtml进行异步传输(获取动态页面include/click.aspx输出的内容)'click.aspx'页面代码可直接在25亿企业网站管理系统中查看。
}
 function receive_CallBack(result)
 {
 if (result == false) { return; }
document.getElementById('divclicknum').innerHTML=result;(把include/click.aspx输出的内容显示到id为divclicknum上,既点击次数。
 }
</script>

至此整个#(asp.net)+javascript异步传输数据来加快您的网站过程完成,如有不懂的请到25亿企业网站管理系统(www.25yi.com)官方站技术社区进行提问。
--------------------编程问答-------------------- 不都是这样做的吗???? --------------------编程问答--------------------
引用 1 楼 unicode 的回复:
不都是这样做的吗????

同感... --------------------编程问答-------------------- 学习、、、 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 仅仅因为文件名是html后缀就自诩为“静态页面”吗?一看这个名词就够了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,