вызов публичной функции серверного элемента управления ajax asp.net со стороны клиента - PullRequest
1 голос
/ 15 июня 2011

Я хочу создать серверный элемент управления ajax в ASP.NET, и в этом приложении у меня есть текстовое поле, и я хочу отправить текст этого текстового поля в функцию, созданную в классе серверного элемента управления ajax ASP.NET, и эта функция возвращает некоторые результат на основе текста.

Мое приложение использует серверные элементы управления, которые импортируются из внешней библиотеки DLL, добавленной в качестве ссылки. Этот серверный элемент управления будет использовать AJAX для выполнения своих функций.

Чтобы использовать Мой элемент управления, я бы добавил Диспетчер сценариев и Мой элемент управления на странице .aspx, и он должен начать работать.

1 Ответ

1 голос
/ 15 июня 2011
  1. Добавить диспетчер скриптов на страницу
  2. Добавление нового файла веб-службы в проект
  3. Добавить атрибут [ScriptService] к классу обслуживания
  4. Создайте метод, который принимает и возвращает строку, например:
  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;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...