Обновление DataRepeater внутри панели обновления с IAsyncResult не работает!

У меня возникают проблемы с привязкой данных к повторителю данных при использовании 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 ответ

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

Другие вопросы по тегам