⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 107.html

📁 html生成静态页的小程序
💻 HTML
📖 第 1 页 / 共 2 页
字号:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<base href="http://localhost:8080/" />
<title>最基本的AJAX框架的实现方法</title>
<script language="javascript">
var sPath = document.location.protocol + "//" + document.location.host + document.location.pathname;
if(sPath.indexOf("/article/")>=0)
{
	var sPath_tmp = sPath.split("/article/");
	var BasePath = sPath_tmp[0]+"/";
	document.write('<base href="'+BasePath+'" />');
}
</script>
<script language="javascript" src="images/js.js"></script>
<link href="css/css2.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="950" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="3" bgcolor="#106B61"></td>
  </tr>
  <tr>
    <td><table width="950" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="200" height="87" align="center" background="images/index5_02.gif"><img src="images/logo.gif" width="142" height="62" /></td>
        <td valign="bottom"><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="40"><table width="99%" border="0" align="left" cellpadding="0" cellspacing="0">
              <tr>
                <td width="10%" align="left" class="red12"><strong>滚动新闻:</strong></td>
				
                <td width="90%" align="left">
<div id="pro_demo" style="overflow:hidden;height:40px;width:660px;">

<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td id="pro_demo1" height="40"><table border="0" cellspacing="0" cellpadding="0" width="100%">
      <tr>
        
        <td class="gray" nowrap="nowrap">&nbsp;&nbsp;·<a href="article/99.html" title="2.0版本发布">2.0版本发布</a></td>
        
        <td class="gray" nowrap="nowrap">&nbsp;&nbsp;·<a href="article/89.html" title="2009-4-28更新日志">2009-4-28更新日志</a></td>
        
        <td class="gray" nowrap="nowrap">&nbsp;&nbsp;·<a href="article/88.html" title="新闻系统全站静态化测试中">新闻系统全站静态化测试中</a></td>
        
        <td class="gray" nowrap="nowrap">&nbsp;&nbsp;·<a href="article/83.html" title="Ok3w ASP新闻发布系统功能简介">Ok3w ASP新闻发布系统功能简介</a></td>
        
        <td class="gray" nowrap="nowrap">&nbsp;&nbsp;·<a href="article/82.html" title="Ok3w ASP新闻发布系统功能简介">Ok3w ASP新闻发布系统功能简介</a></td>
        
        <td class="gray" nowrap="nowrap">&nbsp;&nbsp;·<a href="article/81.html" title="Ok3w ASP新闻发布系统功能简介">Ok3w ASP新闻发布系统功能简介</a></td>
        
        <td class="gray" nowrap="nowrap">&nbsp;&nbsp;·<a href="article/46.html" title="Ok3w ASP新闻发布系统功能简介">Ok3w ASP新闻发布系统功能简介</a></td>
        
      </tr>
    </table></td>
    <td id="pro_demo2"></td>
  </tr>
</table>
<script language="javascript" src="images/marquee.js"></script>
	
</div>				</td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td bgcolor="#106B61"><table border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td align="left"><img src="images/index5_08.gif" width="5" height="41" /></td>
                <td align="center">&nbsp;&nbsp;<a href="" class="white14b">网站首页</a>&nbsp;&nbsp;</td>
				
                <td align="center"><img src="images/index5_11.gif" width="2" height="25" /></td>
                <td align="center">&nbsp;&nbsp;<a href="article/list_95_1.html" class="white14b">新闻资讯</a>&nbsp;&nbsp;</td>
				
                <td align="center"><img src="images/index5_11.gif" width="2" height="25" /></td>
                <td align="center">&nbsp;&nbsp;<a href="article/list_102_1.html" class="white14b">网络安全</a>&nbsp;&nbsp;</td>
				
                <td align="center"><img src="images/index5_11.gif" width="2" height="25" /></td>
                <td align="center">&nbsp;&nbsp;<a href="article/list_107_1.html" class="white14b">网页制作</a>&nbsp;&nbsp;</td>
				
                <td align="center"><img src="images/index5_11.gif" width="2" height="25" /></td>
                <td align="center">&nbsp;&nbsp;<a href="article/list_85_1.html" class="white14b">办公软件</a>&nbsp;&nbsp;</td>
				
                <td align="center"><img src="images/index5_11.gif" width="2" height="25" /></td>
                <td align="center">&nbsp;&nbsp;<a href="article/list_84_1.html" class="white14b">网站运营</a>&nbsp;&nbsp;</td>
				
                <td align="center"><img src="images/index5_11.gif" width="2" height="25" /></td>
                <td align="center">&nbsp;&nbsp;<a href="article/list_83_1.html" class="white14b">平面设计</a>&nbsp;&nbsp;</td>
				
                <td align="center"><img src="images/index5_11.gif" width="2" height="25" /></td>
                <td align="center">&nbsp;&nbsp;<a href="article/list_60_1.html" class="white14b">网络编程</a>&nbsp;&nbsp;</td>

              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td height="37" align="center" background="images/index5_15.gif"><table width="98%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="left" class="green12gray">今天是<script language="javascript">
var mydate=new Date();
var mymonth=mydate.getMonth()+1;
var myday= mydate.getDate();
var myyear= mydate.getYear();
document.write(myyear+"-"+mymonth+"-"+myday);</script>,欢迎访问Ok3w新闻发布系统!</td>
        <td align="right" class="green12gray"><a href="guest.asp">请您留言</a> | <a href="http://www.glzy8.com/ok3w/article/147.html" target="_blank">免费下载</a> | <a href="#" class="green12gray" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage(document.URL);">设为首页</a> | <a href="#" class="green12gray"  onclick="window.external.AddFavorite(document.URL,document.title);">加入收藏</a></td>
      </tr>
    </table></td>
  </tr>
  
  <tr>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-top:2px;">
      <tr>
        <td align="left"><iframe id="baiduSpFrame" border="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" framespacing="0" frameborder="0" scrolling="no" width="468" height="60" src="http://spcode.baidu.com/spcode/spstyle/style2220.jsp?tn=zhengbi_sp&ctn=0&styleid=2220"></iframe></td>
        <td align="right"><iframe id="baiduSpFrame" border="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" framespacing="0" frameborder="0" scrolling="no" width="468" height="60" src="http://spcode.baidu.com/spcode/spstyle/style1634.jsp?tn=zhengbi_sp&ctn=0&styleid=1634"></iframe></td>
        </tr>
      <tr>
        <td colspan="2" align="left" height="5"></td>
        </tr>
      <tr>
        <td align="left"><iframe id="baiduSpFrame" border="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" framespacing="0" frameborder="0" scrolling="no" width="468" height="60" src="http://spcode.baidu.com/spcode/spstyle/style2615.jsp?tn=zhengbi_sp&ctn=0&styleid=2615"></iframe></td>
        <td align="right"><iframe id="baiduSpFrame" border="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" framespacing="0" frameborder="0" scrolling="no" width="468" height="60" src="http://spcode.baidu.com/spcode/spstyle/style2475.jsp?tn=zhengbi_sp&ctn=0&styleid=2475"></iframe></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td height="14" background="images/index5_31.gif"></td>
  </tr>
</table>

<table width="950" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="40">您当前位置:<a href="">网站首页</a> &gt;&gt; <a href="article/list_107_1.html">网页制作</a> &gt;&gt; <a href="article/list_132_1.html">Javascript/Ajax</a> &gt;&gt; 阅读文章</td>
    <form id="form1" name="form1" method="get" action="search.asp">
      <td width="344"><span style="font-weight: bold">站内查找:</span>
          <input name="keyword" type="text" id="keyword" size="29" />
          <input type="submit" name="Submit" value="搜索" />
      </td>
    </form>
  </tr>
</table>
<table width="950" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="left" valign="top"><table width="100%" border="0" cellpadding="8" cellspacing="0" style="border:1px solid #AEE1DC;">
      <tr>
        <td><table width="100%" border="0" cellspacing="0" cellpadding="0" style="table-layout: fixed;">
            <tr>
              <td align="center"><h1>最基本的AJAX框架的实现方法</h1>
			  <hr size="1" color="#EBEBEB" />
              来源:Ok3w新闻发布系统 发布时间:2009-05-01 00:38:02 查看次数:<span id="News_Hits"></span><iframe style="display:none;" src="hits.asp?type=news&id=107"></iframe>
			  <hr size="1" color="#EBEBEB" />
			  </td>
            </tr>
            <tr>
              <td style="word-break: break-all; word-wrap:break-word;"><div class="gray14"><P>环境:Window Xp sp2 + .Net FramwWork 2.0.50727。<BR><B>Asp.Net 2.0自带的客户端回调</B><BR>Asp.Net 2.0已经发布。2.0有了许多新特性,客户端回调就是其中之一。客户端回调允许我们不经过回发而调用服务器端的方法,与AJAX提供的功能是一致的,但是不如AJAX灵活,AJAX可以自定义调用的方法,2.0自带的回调功能却不行。要使用客户端回调功能必须实现System.Web.UI.IcallbackEventHandler接口。<BR>这个接口包含两个方法:</P><PRE><OL class=dp-c><LI class=alt><SPAN><SPAN class=comment>//客户端回调时固定调用此方法 </SPAN><SPAN>&nbsp;</SPAN></SPAN><LI><SPAN class=keyword>public</SPAN><SPAN>&nbsp;</SPAN><SPAN class=keyword>void</SPAN><SPAN>&nbsp;RaiseCallbackEvent(String&nbsp;eventArgument) &nbsp;</SPAN><LI class=alt><SPAN class=comment>//执行完RaiseCallbackEvent后将调用此方法。此方法的返回值将被发回客户端 </SPAN><SPAN>&nbsp;</SPAN><LI><SPAN class=keyword>public</SPAN><SPAN>&nbsp;</SPAN><SPAN class=keyword>string</SPAN><SPAN>&nbsp;GetCallbackResult()&nbsp;</SPAN></LI></OL></PRE>
<P>例一:</P><PRE><OL class=dp-c><LI class=alt><SPAN><SPAN>.cs: &nbsp;</SPAN></SPAN><LI><SPAN>String&nbsp;cbReference&nbsp;=&nbsp;Page.ClientScript.GetCallbackEventReference( &nbsp;</SPAN><LI class=alt><SPAN>&nbsp;</SPAN><LI><SPAN class=keyword>this</SPAN><SPAN>,</SPAN><SPAN class=string>"arg"</SPAN><SPAN>,&nbsp;</SPAN><SPAN class=string>"ReceiveServerData"</SPAN><SPAN>,&nbsp;</SPAN><SPAN class=string>"context"</SPAN><SPAN>); &nbsp;</SPAN><LI class=alt><SPAN>String&nbsp;callbackScript; &nbsp;</SPAN><LI><SPAN>callbackScript&nbsp;=&nbsp;</SPAN><SPAN class=string>"function&nbsp;CallServer(arg,&nbsp;context)"</SPAN><SPAN>&nbsp;+&nbsp;</SPAN><SPAN class=string>"{&nbsp;"</SPAN><SPAN>&nbsp;+&nbsp;cbReference&nbsp;+&nbsp;</SPAN><SPAN class=string>"}&nbsp;;"</SPAN><SPAN>; &nbsp;</SPAN><LI class=alt><SPAN>Page.ClientScript.RegisterClientScriptBlock( &nbsp;</SPAN><LI><SPAN>&nbsp;</SPAN><LI class=alt><SPAN class=keyword>this</SPAN><SPAN>.GetType(),</SPAN><SPAN class=string>"CallServer"</SPAN><SPAN>,&nbsp;callbackScript,&nbsp;</SPAN><SPAN class=keyword>true</SPAN><SPAN>); &nbsp;</SPAN><LI><SPAN>javascript: &nbsp;</SPAN><LI class=alt><SPAN>&nbsp;</SPAN></LI></OL><P>&nbsp;<BR></P><P><STRONG>AJAX介绍<BR></STRONG>AJAX并不是一种新的技术,而是一些已有技术的有机结合,主要包括:XmlHttp、Reflect。一个AJAX框架基本上包括:一个自定义的HttpHandler、一段JavaScript代码。</P><P><B>AJAX运行机制</B><BR>以前我们使用XmlHttp实现无刷新页面的时候,是用XmlHttp来请求一个隐藏的页面,使用(Asp/Asp.Net)自带的HttpHandler,而在AJAX中,我们请求的也是一个隐藏的页面,不同的是这个页面的HttpHandler是由我们自己来实现。</P><P>打造自己的AJAX:<BR>1.首先我们要实现一个Http处理程序(HttpHandler)来响应客户端的请求:<BR>实现自定义的HttpHandler需要实现IHttpHandler接口。<BR>该接口包含一个属性和一个方法:</P><P>&nbsp;</P><PRE><OL class=dp-c><LI class=alt><SPAN><SPAN>bool&nbsp;IHttpHandler.IsReusable &nbsp;</SPAN></SPAN><LI><SPAN class=keyword>void</SPAN><SPAN>&nbsp;IHttpHandler.ProcessRequest(HttpContext&nbsp;context) &nbsp;</SPAN><LI class=alt><SPAN>Example:&nbsp; &nbsp;</SPAN><LI><SPAN>bool&nbsp;IHttpHandler.IsReusable &nbsp;</SPAN><LI class=alt><SPAN>{ &nbsp;</SPAN><LI><SPAN> get&nbsp;{&nbsp;</SPAN><SPAN class=keyword>return</SPAN><SPAN>&nbsp;</SPAN><SPAN class=keyword>true</SPAN><SPAN>;&nbsp;} &nbsp;</SPAN><LI class=alt><SPAN>} &nbsp;</SPAN><LI><SPAN class=keyword>void</SPAN><SPAN>&nbsp;IHttpHandler.ProcessRequest(HttpContext&nbsp;context) &nbsp;</SPAN><LI class=alt><SPAN>{ &nbsp;</SPAN><LI><SPAN> context.Response.Clear();&nbsp;</SPAN><SPAN class=comment>//获取要调用的方法 </SPAN><SPAN>&nbsp;</SPAN><LI class=alt><SPAN> string&nbsp;methodName&nbsp;=&nbsp;context.Request.QueryString[</SPAN><SPAN class=string>"me"</SPAN><SPAN>]; &nbsp;</SPAN><LI><SPAN> </SPAN><SPAN class=comment>//获取程序集信息。 </SPAN><SPAN>&nbsp;</SPAN><LI class=alt><SPAN> </SPAN><SPAN class=comment>//Czhenq.AJAX.Class1.Dencode是自定义的字符串编码方法 </SPAN><SPAN>&nbsp;</SPAN><LI><SPAN> string&nbsp;AssemblyName&nbsp;=&nbsp;Czhenq.AJAX.Class1.Dencode(context.Request.QueryString[</SPAN><SPAN class=string>"as"</SPAN><SPAN>]);&nbsp; &nbsp;</SPAN><LI class=alt><SPAN>&nbsp;</SPAN><LI><SPAN>&nbsp;&nbsp;&nbsp;</SPAN><SPAN class=comment>//获取方法的参数&nbsp; </SPAN><SPAN>&nbsp;</SPAN><LI class=alt><SPAN> string&nbsp;Arguments&nbsp;=&nbsp;context.Request.QueryString[</SPAN><SPAN class=string>"ar"</SPAN><SPAN>];&nbsp;</SPAN><SPAN class=comment>//开始调用方法 </SPAN><SPAN>&nbsp;</SPAN><LI><SPAN> Type&nbsp;type&nbsp;=&nbsp;Type.GetType(AssemblyName); &nbsp;</SPAN><LI class=alt><SPAN> MethodInfo&nbsp;method&nbsp;=&nbsp;type.GetMethod(methodName,&nbsp; &nbsp;</SPAN><LI><SPAN>&nbsp;</SPAN><LI class=alt><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BindingFlags.NonPublic&nbsp;|&nbsp;BindingFlags.Public&nbsp;|&nbsp;BindingFlags.Static&nbsp;|&nbsp;BindingFlags.Instance);&nbsp; &nbsp;</SPAN><LI><SPAN> </SPAN><SPAN class=keyword>if</SPAN><SPAN>&nbsp;(method&nbsp;!=&nbsp;</SPAN><SPAN class=keyword>null</SPAN><SPAN>)&nbsp; &nbsp;</SPAN><LI class=alt><SPAN> { &nbsp;</SPAN><LI><SPAN class=comment>//参数使用","分隔 </SPAN><SPAN>&nbsp;</SPAN><LI class=alt><SPAN>string[]&nbsp;args&nbsp;=&nbsp;Arguments.Split(</SPAN><SPAN class=string>","</SPAN><SPAN>.ToCharArray()); &nbsp;</SPAN><LI><SPAN>ParameterInfo[]&nbsp;paras&nbsp;=&nbsp;method.GetParameters();&nbsp; &nbsp;</SPAN><LI class=alt><SPAN>object[]&nbsp;argument&nbsp;=&nbsp;</SPAN><SPAN class=keyword>new</SPAN><SPAN>&nbsp;object[paras.Length]; &nbsp;</SPAN><LI><SPAN class=keyword>for</SPAN><SPAN>&nbsp;(</SPAN><SPAN class=keyword>int</SPAN><SPAN>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;argument.Length;&nbsp;i++) &nbsp;</SPAN><LI class=alt><SPAN>{ &nbsp;</SPAN><LI><SPAN> </SPAN><SPAN class=keyword>if</SPAN><SPAN>&nbsp;(i&nbsp;&lt;&nbsp;args.Length)&nbsp;{&nbsp; &nbsp;</SPAN><LI class=alt><SPAN class=comment>//因为XmlHttp传递过来的参数全部时String类型,所以必须进行转换 </SPAN><SPAN>&nbsp;</SPAN><LI><SPAN class=comment>//这里只将参数转换为Int32,并不做其他考虑。&nbsp; </SPAN><SPAN>&nbsp;</SPAN><LI class=alt><SPAN>argument[i]&nbsp;=&nbsp;Convert.ToInt32(args[i]); &nbsp;</SPAN><LI><SPAN> } &nbsp;</SPAN><LI class=alt><SPAN>} &nbsp;</SPAN><LI><SPAN>object&nbsp;value&nbsp;=&nbsp;method.Invoke(Activator.CreateInstance(type,&nbsp;</SPAN><SPAN class=keyword>true</SPAN><SPAN>),&nbsp;argument); &nbsp;</SPAN><LI class=alt><SPAN class=keyword>if</SPAN><SPAN>&nbsp;(value&nbsp;!=&nbsp;</SPAN><SPAN class=keyword>null</SPAN><SPAN>)&nbsp;context.Response.Write(value.ToString()); &nbsp;</SPAN><LI><SPAN class=keyword>else</SPAN><SPAN>&nbsp;context.Response.Write(</SPAN><SPAN class=string>"error"</SPAN><SPAN>);&nbsp; &nbsp;</SPAN><LI class=alt><SPAN> } &nbsp;</SPAN><LI><SPAN> </SPAN><SPAN class=comment>//处理结束&nbsp; </SPAN><SPAN>&nbsp;</SPAN><LI class=alt><SPAN> context.Response.End(); &nbsp;</SPAN><LI><SPAN>} &nbsp;</SPAN></LI></OL></PRE><P><div class="thisPageNav"><a href="article/107.html"><strong>第1页</strong></a> <a href="article/107_2.html">第2页</a> </div></div></td>
            </tr>
        </table>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -