Как вызвать веб-метод асинхронно и частично отобразить элемент управления? - PullRequest
0 голосов
/ 05 декабря 2009

Мне нужно вызывать веб-метод веб-службы асинхронно из кода за веб-страницей. В функции обратного вызова мне нужно привязать gridView и визуализировать его. Я хочу частично визуализировать это gridview в функции обратного вызова в codebehind.

Как это реализовать?

Возможно ли реализовать все это в коде позади без использования JavaScript?

Ответы [ 2 ]

2 голосов
/ 05 декабря 2009

Есть несколько вариантов, но в основном вам нужно сделать что-то вроде этого:

  1. Использование Visual Studio для создания прокси-класса для доступа к веб-службе с использованием опубликованного WSDL
  2. Создайте асинхронную веб-страницу, установив Async = True в директиве Page
  3. В методе Page_Load () вашего кода зарегистрируйте методы, которые будут запускать и завершать вызов асинхронного веб-сервиса, создавая объект PageAsyncTask и вызывая RegisterAsyncTask ()
  4. Из метода, запускающего асинхронную задачу, вызовите метод Begin, созданный как часть прокси-класса, и верните ассоциированный IAsyncResult вызывающей стороне
  5. Когда вызов веб-службы завершится, среда выполнения вызовет ваш зарегистрированный метод завершения. Оттуда вызовите метод End в прокси, чтобы получить результаты вызова.
  6. Привязать данные к GridView на вашей странице.

В случае, если это поможет, я подробно рассмотрю пример в своей книге, включая пример кода: Сверхбыстрый ASP.NET .

0 голосов
/ 05 декабря 2009

Для этого вы можете использовать асинхронную загрузку страниц ASP.NET.

Как правило, он состоит из добавления Async = "true" к директиве страницы и добавления некоторых обработчиков событий в коде.

Большой ресурс на эту тему - статья MSDN Magazine "Асинхронные страницы в ASP.NET 2.0" .

...