使用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”但是我的页面上没有显示任何内容,即使数据在我调试时被传递给数据中继器内的控件。
答案 0 :(得分:0)
这不是那样的工作。 BeginInvoke()是一种调用方法异步的方法,它并不意味着它将使用异步回发。 BeginInvoke()在本地环境中是异步的,而异步回发只是具有远程环境的部分html更新。 这是两件不同的事情。你需要完成你的数据集b4你打电话给databind