已经做过几次了,但是每次都要忘记一些,今天把这些记录一下好了。
(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>