AJAX创建类

        今天在学习Ajax客户端的编程,摆弄了两个多小时。总是出现Type未定义,在网上查了些资料。说是要在web.config里配置ajax参数。最后才找出错误来。原来是JS文件未引入。

        学习ajax技术最好装visual studio 2005sp1 版, ASP.NET 2.0 AJAX Extensions,ASP.NET 2.0 AJAX Futures January CTP,AJAX Control Toolkit。否则web.config中会有找不到某个参数的异常。这主要是vs版本以用未使用ajax正式版的原因。

        这里仅列举出本人学习过程中的一些心得。希望正欲学习ajax的朋友不要犯我这样的小错误。
1 注册命名空间Demo Type.regitsterNamespace("Demo");
2 Person类的构造函数
3 Person类的方法 要使用JavaScript中的原型prototype机制
4 注册类Person
这四步必不可少,javascript非常难调试。主要原因是自己不熟。呵呵,反正要多写。

       下面列举出示例代码。 Namespace.js如下:

 

// 1 注册命名空间
Type.registerNamespace( " Demo " )

// 2 Person类的构造函数
Demo.Person  =  function(firstName, lastName, emailAddress) 
    
this._firstName = firstName; 
    
this._lastName = lastName; 
    
this._emailAddress = emailAddress; 
}


// 3 Person类的方法 要使用JavaScript中的原型prototype机制
Demo.Person.prototype  =  
    getFirstName: function() 

        
return this._firstName; 
    }
,

    getLastName: function() 

        
return this._lastName; 
    }
,

    getName: function() 

        
return this._firstName + " " + this._lastName; 
    }

    
    getEmailAddress: function()
{
        
return this._emailAddress;
    }
,

    dispose: function() 

        alert(
"再见 " + this.getName()); 
    }
 
}


// 4 注册类Person
Demo.Person.registerClass( " Demo.Person " null , Sys.IDisposable);

 

Default.aspx代码如下:

 

<! 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 >
    
< title > Namespace </ title >
</ head >
< body onunload = " unload() " >
    
< form id = " Form1 "  runat = " server " >
        
< asp:ScriptManager ID = " sm "  runat = " server "   />
    
</ form >
    
< div >
        
< p > MS AJAX注册Javascript命名空间并创建类  </ p >
        
< input id = " btn "  type = " button "  value = " Create Demo.Person "  onclick = " return btnClick() "   />
    
</ div >
    
< script type = " text/javascript "  src = " Namespace.js "   ></ script >
    
< script type = " text/javascript "  language = " JavaScript " >
        var ps 
=   new  Demo.Person(  " Lin " " Shaoyun " " boy_clould@163.com " );
        function btnClick() 
        
{
            alert(ps.getFirstName()
+ " " +ps.getLastName()+" "+ps.getEmailAddress());
            
return false;
        }

        function unload()
        
{
           ps.dispose();
        }

    
</ script >
</ body >
</ html >

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页