ISyncResult を使用すると、データをデータ リピーターにバインドできません。これが私がやっていることです。更新パネル内にボタンがあり、ユーザーからの入力を取得し、データセットを返す関数を呼び出します。この関数は、更新パネル内にあるデータ リピーターにバインドします。私がしたことは、この関数にデリゲートを作成したことです。今、この関数を次のように呼び出しています
Dim caller As New AsyncMyFunction(AddressOf MyFunction)
そして、次のように IASyncResult を作成します。
Dim result As IAsyncResult = caller.BeginInvoke(argument1, argument1, AddressOf MyFunctionCallBack, Nothing)
これは Callback メソッドです。
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」を渡していることがわかりますが、デバッグ中にデータリピーター内のコントロールにデータが渡されているにもかかわらず、ページに何も表示されません。