从客户端调用asp.net ajax服务器控件的公共函数

我想在ASP.NET中创建一个ajax服务器控件,在那个应用程序中我有一个文本框,我想将该文本框的文本发送到在ASP.NET ajax服务器控件类中创建的函数,该函数返回一些基于的结果文本.

我的应用程序使用从外部DLL导入的服务器控件作为参考.此服务器控件将使用AJAX来完成其功能.

要使用我的控件,我会在.aspx页面添加脚本管理器和我的控件,它应该开始工作.

解决方法

>向页面添加脚本管理器
>将新的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;
        }
    }
}

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...