Ajax.NET新手指引

    技术2022-05-11  76

    下载地址:

    http://www.codeplex.com/Project/FileDownload.aspx?ProjectName=AjaxPro&DownloadId=2953

     

    首先,添加对AjaxPro.2.dll的引用(对于.NET Framework 1.1 添加AjaxPro.dll)

    然后,添加配置文件web.config,添加如下几行:

     

     1 <?xml version="1.0" encoding="utf-8"?> E,^v;p2~*Z0@{0 2 <configuration> nD/b[0]H!k0 3   <appSettings/> N!} yzX c:w0`7C0 4   <connectionStrings/> 博客.宿迁~n&U6]Q:nv8n  5   <system.web> $]:b I a`NU0  6    <httpHandlers>Dp%J/vR9}0 7      <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>博客.宿迁N G;OJ:h+D;[ 8    </httpHandlers>博客.宿迁:_9h(RF }]n'R 9     [ ] _w {#^Qa G~+c6IJ i010   </system.web> iW:o8IZ `^011 </configuration> F;h Y"K7s}#Xw l012

     

    意思是所有的ajaxpro/*.ashx请求都由Ajax.PageHandlerFactory处理,而不是由默认的System.Web.UI.PageHandlerFactory处理程序工厂来处理。博客.宿迁G(B Sg2zr ~%| _博客.宿迁4X.eG_T buq'}${7]pV0B){O+m?0

    现在我们写个AjaxMethod服务器端方法,他和普通的服务器方法唯一不同的地方就是他必须要在方法的上面添加个[AjaxPro.AjaxMethod],代码如下:

    1     [AjaxPro.AjaxMethod]*b"t%b:`2h0 2      public   int  AddTwo( int  firstInt,  int  secondInt)+W-vm-GN j8A#@GV0 3      {J1Q+z3k"L!Q9B,l04        return firstInt + secondInt;博客.宿迁] AM/?:j+}_d3HU5    }  

     

    要想在客户端使用Javascrīpt调用.NET方法,你还必须注册这些方法:

    1     protected void Page_Load(object sender, EventArgs e) ^D-S)@5Jv3J,t7z02      { 博客.宿迁~qKb2I 3         AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));  博客.宿迁.q-n$EJ `jf;k/itw 4     }

     

    最后,我们再写客户端脚本来调用服务器方法(代码里有详细的注释)。

    以下是前台Default.aspx代码: 

     1 <% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %> 博客.宿迁(o2V2Vj4f  2 博客.宿迁 h&`q|1n[5Q  3 <! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " > 博客.宿迁7o*RFw6},U+bM a  4 < html xmlns = " http://www.w3.org/1999/xhtml " > 博客.宿迁:e.hmui b  5 < head id = " Head1 "  runat = " server " > ?~c9Q W6nP0  6      < title > Untitled Page </ title > 博客.宿迁&L{-_8S9t*o[*}n  7 </ head > lB:Pra:a0  8 < body > 博客.宿迁SBl$[f(m |!p,y^  9      < form id = " form1 "  runat = " server " > 博客.宿迁}"B0`9r8V4S { 10          < div > .R4r0@;m1mi:~(R,B0 11              < input id = " Text1 "  type = " text "  onchange = " add() " /> /O8Y3T h4n7x,h0 12              + "R?d!STx Ql0 13              < input id = " Text2 "  type = " text "  onchange = " add() " /> 博客.宿迁n5Hb3AB,Abv0AM1NP} 14              = ;F ug%u4l0 15              < span id = " result " ></ span > 博客.宿迁&e#P6ruIE'y 16          </ div > (d"L+{'_8}J9]6y0 17      </ form > 博客.宿迁nm)g]/3F r$j f 18 博客.宿迁 D.We t,b#{'I#] 19      < scrīpt type = " text/javascrīpt " >    博客.宿迁3]M-~$Q}F d/lbA/K 20     function add()博客.宿迁7PB9`m3hqIO{h*o 21      {博客.宿迁Jj@#{us%@ z*QcA22    var a=document.getElementById('Text1').value;HF,B&{|+E)CB x:m023    var b=document.getElementById('Text2').value;博客.宿迁e}7b)s"Ta{s"Y] F24    var a1 = parseInt(a);~-B5~7d3z@025    var b1 = parseInt(b);Td%lV/W']&Q|026   /k9h/O:CbN /4T027    _Default.AddTwo(a1,b1,getAdd_callback);   // 异步调用服务器端方法 ![sH[$RK D028    } e {J/b H8Nr0 29 X!A3r q P#vp} n0 30     function getAdd_callback(rel)博客.宿迁@#I!PBoz$r 31      {博客.宿迁I/G9t4J&q32       //MyDemo._Default.GetServerTime()得到从服务器传来的数据是object,要写.value-_]q0t[h033        document.getElementById("result").innerHTML=rel.value;-tuAm0k7l6M034    } 博客.宿迁m#]&S$_5_dh 35 -|&O s ^ p8W0 36      </ scrīpt > Q1D6D2EB I~0 37 博客.宿迁YNGO,Vo?eH]f 38 </ body > M3UQTk G0 39 </ html > caMI s~#@HK0 40

     

    以下是完整的后台Default.aspx.cs代码:

    using  System;博客.宿迁Io6]%k} v using  System.Data;博客.宿迁'H{T5~,`l7kM using  System.Configuration;博客.宿迁.x.Z4}:R:X3jx(T H using  System.Web;博客.宿迁n;V8IR9cZJNx using  System.Web.Security;博客.宿迁G.T?#B[Z:P using  System.Web.UI;博客.宿迁$Y-f e?&^Fd T using  System.Web.UI.WebControls;博客.宿迁~mE9YT)GXMg using  System.Web.UI.WebControls.WebParts;'|B$[y2{M_0 using  System.Web.UI.HtmlControls;%mlfw |T"s(G0博客.宿迁5UWA0zC public  partial  class  _Default : System.Web.UI.Page ~0Nz+Sh x1k0 {博客.宿迁#TE S3v7I:Q.ZX)L0/    [AjaxPro.AjaxMethod]-K/n(_P|1`cX6D'X0    public int AddTwo(int firstInt, int secondInt)博客.宿迁:f;]|Kcp z`b    {博客.宿迁Xjlr9f_        return firstInt + secondInt;博客.宿迁eB
    转载请注明原文地址: https://ibbs.8miu.com/read-32011.html

    最新回复(0)