calling a public function of an asp.net ajax server control from client side

旧城冷巷雨未停 提交于 2019-11-28 11:38:43

问题


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.


回答1:


  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;
        }
    }
}


来源:https://stackoverflow.com/questions/6357085/calling-a-public-function-of-an-asp-net-ajax-server-control-from-client-side

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!