Обновление DataRepeater внутри панели обновления с IAsyncResult не работает! - PullRequest
0 голосов
/ 14 октября 2010

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

Dim caller As New AsyncMyFunction(AddressOf MyFunction)

А потом я делаю IASyncResult, как это:

 Dim result As IAsyncResult = caller.BeginInvoke(argument1, argument1, AddressOf MyFunctionCallBack, Nothing)

это метод обратного вызова:

 Sub MyFunctionCallBack(ByVal ar As IAsyncResult)
    Dim result As AsyncResult = CType(ar, AsyncResult)
    Dim caller As AsyncMyFunction = CType(result.AsyncDelegate, AsyncMyFunction)
    Dim ds As New DataSet
    ds = caller.EndInvoke(ar) 
    MyRep.DataSource = ds
    MyRep.DataBind()

End Sub

Мне трудно понять, почему ретранслятор данных не показывает данных. Во время отладки я вижу, что набор данных получает данные и передает «ds», но на моей странице ничего не отображается, даже если данные передаются в элементы управления внутри повторителя данных во время отладки.

1 Ответ

0 голосов
/ 14 октября 2010

это не работает таким образом.BeginInvoke () - это способ вызова метода async, и это не значит, что он будет работать с асинхронной обратной передачей.BeginInvoke () является асинхронным в локальной среде, в то время как асинхронная обратная передача - это только частичное обновление HTML с удаленной средой.это 2 разные вещи.вам нужно заполнить ваш набор данных b4 u calldatabind

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...