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

发布于 2024-11-15 16:10:59 字数 223 浏览 3 评论 0 原文

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

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

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

I want to make a ajax server control in ASP.NET and in that application I have a textbox and I want to send text of that textbox to function that is created in ASP.NET ajax server control class and that function return some result based on text.

My Application uses Server controls which are Imported from External DLL added as a reference. This Server Control will make use of AJAX to complete its functionality.

To use My control, I would add the Script Manager and My Control on the .aspx page and it should start working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里兽 2024-11-22 16:10:59
  1. 在页面中添加脚本管理器
  2. 将新的 Web 服务文件添加到项目中
  3. 将属性 [ScriptService] 添加到服务类
  4. 创建一个接受并返回字符串的方法 ie:
  5. 将属性 [ScriptMethod] 添加到方法中
  6. 在 aspx 页面上使用脚本管理器,添加对 asmx 文件的服务引用
  7. 在 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;
        }
    }
}
  1. Add a Script Manager to the page
  2. Add a new web service file to the project
  3. Add the attribute [ScriptService] to the service class
  4. Create a method that accepts and returns a string ie:
  5. Add the attribute [ScriptMethod] to the method
  6. On the aspx page with the script manager, add a Service reference to the asmx file
  7. Call the server side method in javascript qualifying it with the full namespace.

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;
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文