我想在ASP.NET中创建一个ajax服务器控件,在那个应用程序中我有一个文本框,我想将该文本框的文本发送到在ASP.NET ajax服务器控件类中创建的函数,该函数返回一些基于的结果文本.
解决方法
>向页面添加脚本管理器
>将新的Web服务文件添加到项目中
>将属性[ScriptService]添加到服务类
>创建一个接受并返回字符串的方法,即:
>将属性[ScriptMethod]添加到方法中
>在带有脚本管理器的aspx页面上,添加对asmx文件的服务引用
>在 javascript中调用服务器端方法,使用完整命名空间对其进行限定.
>将新的Web服务文件添加到项目中
>将属性[ScriptService]添加到服务类
>创建一个接受并返回字符串的方法,即:
>将属性[ScriptMethod]添加到方法中
>在带有脚本管理器的aspx页面上,添加对asmx文件的服务引用
>在 javascript中调用服务器端方法,使用完整命名空间对其进行限定.
MyPage.aspx:
- ...
- <asp:ScriptManager ID="ScriptManager1" runat="server">
- <Services>
- <asp:ServiceReference Path="~/MyService.asmx" />
- </Services>
- </asp:ScriptManager>
- ...
- <script>
- MyNameSpace.MyService.MyMethod('some text',responseHandlerMethod,errorHandlerMethod);
- </script>
- ...
MyService.asmx
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Services;
- using System.Web.Script.Services;
- namespace MyNameSpace
- {
- [WebService(Namespace = "http://tempuri.org/")]
- [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
- [System.ComponentModel.ToolBoxItem(false)]
- [ScriptService]
- public class MyServiceClass: System.Web.Services.WebService
- {
- [ScriptMethod]
- [WebMethod]
- public string MyMethod(string SomeText)
- {
- return "Hi mom! " + SomeText;
- }
- }
- }