Johnny with dotnet

asp.net script方法调用webService方法

    已经做过几次了,但是每次都要忘记一些,今天把这些记录一下好了。

    (1),添加一个web服务,XXX.asmx.

      (2), 添加system.web.extensions引用

      (3), 修改XXX类的属性为[ScriptService]

      (4),  随意写一个方法webMethod(),将方法属性修改为[WebMethod]

      (5),    添加test.aspx页面,向form中添加webservice引用

               :  <asp:ScriptManager ID="ScriptManager1" runat="server">
                          <Services>
                                <asp:ServiceReference Path ="XXX.asmx.asmx"  InlineScript ="true" />
                          </Services>
                    </asp:ScriptManager>

       (6),写js方法,TestMethod();里面可以调用我们的webMethod方法;但是调用方法的时候要使用异步调用的回调函数名作为参数。

                 :function TestMethod(TestCallBack)

                     {

                        XXX.webMethod();

                       }

                   :fuction TestCallBack(result)

                    {

                         //method

                      }

     (7),webconfig 中System.Web节点中添加以下代码

           <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
      </httpHandlers>

posted on 2009-07-06 16:25  JohnnyNet  阅读(400)  评论(0)    收藏  举报

导航