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

网站优化
网站运营推广中的内容策略浅谈
网页设计 优化代码重要性
能够获得搜索引擎垂青的网页
使用网摘推广网站的七个技巧
SEO 域名创意篇
百度教你做 SEO 程序篇
网站不必天天更新 搜索引擎判断原创新算法
如何防止网站被降权八大要素
百度不更新快照的比完全解决方法
如何让网站吸引链接的三十招技巧
SEO HTML 标签权重列表小结
举一反三 推广网站三字经
成功 论坛运营的5条经验
浅谈影响网站流量几个原因分析
SEO 最经典的十句话
不靠SEO 做流量方法
SEO 关键字选择之为流量寻找关键字
文章长短会对网站排名产生影响
网站被降权后的补救方法
新站怎样快速被搜索引擎收录?

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 41 ::
收藏到网摘: 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……