当前位置: 首页 > 图文教程 > 网站运营 > 网站优化 > 初次体验.NET Ajax无刷新技术

网站优化
站长小参考:网站备案操作流程
韩国网站之网站颜色组合搭配
国际网页Web设计流程
直袭Web2.0 雅虎新主页功能体验
网页浏览速度提高切实可行的七个方法
网站设计的思考网页版面布局的原理
电脑报参与发起 Comsenz启动大型网络社区调查
古有伯乐金睛识千里马 今有网友慧眼荐网站
网络社区调查本月启动 多位专家参与问卷研讨
揭示论坛发展之路 第二届互联网社区调查即将开始
不上你的网站的50个原因
首页所应该达到的几个目标
网站投资你和我的20个自身检查
Alexa 工具条下载
做网站后台的流程
轻轻松松做站长系列视频教程
alexa 攻略技术大全
破坏用户体验 网站十种做法讨人厌
谈用户体验,别落下商业利益
网站最令人抓狂的几个用户体验

网站优化 中的 初次体验.NET Ajax无刷新技术


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 57 ::
收藏到网摘: n/a

早就听说Ajax技术了,传说中是一种很牛的东西,号称无刷新,其实是在web上通过javascript,使用异步的xmlhttp请求,实现无刷新的web界面。可惜一直没有体验过, 先后听做PHP的朋友用过PHP的Ajax开发包,而且做了很多很酷的东西,使小生羡慕不已。 今天下了一个.net Ajax开发包,该开发包包括ASP2.0和目前ASP1.1版使用的Ajax,详细地址参见http://ajax.schwarz-interactive.de/,接下来,开工。

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

   2.建立HttpHandler,在web.config里面加上 <configuration>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
...
<system.web>
</configuration>
3.新建一个类DemoMethods,这个类实现获取客户端MAC地址: using System;
using System.Web;
namespace AjaxSample
{
///


/// Summary description for Methods.
///

public class DemoMethods
{

[Ajax.AjaxMethod]
public string GetCustomerMac(string clientIP) //para IP is the client's IP
{
string mac = "";
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "nbtstat";
process.StartInfo.Arguments = "-a "+clientIP;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.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 :

  在INPUT的onclick事件中加上onclick="javascript:GetMac()"

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

   6.修改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";以及其他麻烦的设置!期待ing……