中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > J2EE
.net Ajax的无刷新技术实例详解
作者:Jackie 时间:2006-09-28 11:35 出处:ccidnet.com 责编:月夜寒箫
              摘要:.net Ajax的无刷新技术实例详解

下载一个.net Ajax开发包,该开发包包括ASP2.0和目前ASP1.1版使用的Ajax,详细地址参见http://ajax.schwarz-interactive.de/,接下来,开始。

1. 新建一个项目,在引用中添加引用Ajax.dll,Ajax.dll位于下载的压缩包里面。

2.建立HttpHandler,在web.config里面加上:

 

<configuration>
            lt;
            system.web>
            lt;
            httpHandlers>
            lt;
            add verb="POST,GET"
            path="ajax/*.ashx"
            type="Ajax.PageHandlerFactory,
            Ajax" />
            lt;
            /httpHandlers>
            <system.web>
            lt;
            /configuration>

3.新建一个类DemoMethods,这个类实现获取客户端MAC地址:

 

using System;
            using System.Web;
            namespace AjaxSample
            {
            /**//// <summary>
            /// Summary description for Methods.
            /// </summary>
            ublic class DemoMethods
            {
            [Ajax.AjaxMethod]
            ublic string GetCustomerMac(string clientIP)
            //这里输入客户端IP,这个函数知识测试用,
            你也可以写一个其他的简单一点的函数代替
            {
            tring mac = "";
            System.Diagnostics.Process process =
            new System.Diagnostics.Process();
            rocess.StartInfo.FileName = "nbtstat";
            rocess.StartInfo.Arguments = "-a "+clientIP;
            rocess.StartInfo.UseShellExecute = false;
            rocess.StartInfo.CreateNoWindow = true;
            rocess.StartInfo.RedirectStandardOutput = true;
            process.Start();
            string output = process.StandardOutput.ReadToEnd();
            int length = output.IndexOf("MAC Address = ");
            if(length>0)
            {
            mac = output.Substring(length+14, 17);
            }
            process.WaitForExit();
            return mac.Replace("-", "").Trim();
            }
            }}

4.写javascript,新建一个名为default.js文件如下

 

function GetMac()
            {
            var clientIP="192.168.0.1";
            //document.getElementById("Mac").value
            =DemoMethods.GetCustomerMac(clientIP).value
            alert(DemoMethods.GetCustomerMac
            (clientIP).value);
            }

5.在某个Aspx页面放上一个html 的button在页面上中引用default.js :

 

lt;
            script language="javascript"
            src="default.js">
            </script>

在INPUT的onclick事件中加上

 

onclick="javascript:GetMac()"
            lt;
            INPUT style="Z-INDEX: 101;
            LEFT: 392px; POSITION: absolute;
            TOP: 176px" type="button"

value="客户端获取IP" onclick="javascript:GetMac();">

6.在page页面的Page_Load事件中加上

 

private void Page_Load
            (object sender, System.EventArgs e)
            {
            // 在此处放置用户代码以初始化页面
            Ajax.Utility.RegisterTypeForAjax
            (typeof(AjaxSample.DemoMethods));
            }

注意:typeof(AjaxSample.DemoMethods)中,AjaxSample是命名空间,DemoMethods是要包含要调用方法的类,即上面第3步.新建类DemoMethods

7.修改Global.asax的Application_Start事件,设置Ajax的HandlerPath :

 

protected void Application_Start
            (Object sender, EventArgs e)
            {
            Ajax.Utility.HandlerPath = "ajax";
            }

运行看看效果。是不是没有刷新就在服务器端取到客户端的MAC地址?

需要注意的是:该版本的.net Ajax需要手工在中Global.asax加上Ajax.Utility.HandlerPath = "ajax"; 配置文件web.config必须加上HttpHandler的配置信息!

该开发包的新版本还没有来得及体验,估计新版本中会方便一些,可能会去掉手动的设置Global.asax的Application_Start事件中加上Ajax.Utility.HandlerPath = "ajax";以及其他麻烦的设置!

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有