先週デリゲートとの作業を開始し、バックグラウンドでグリッドビューの非同期を更新しようとしています。すべてがうまくいき、エラーなどはありませんが、EndInvoke の後に結果が得られません。誰かが私が間違っていることを知っていますか?
コード スニペットを次に示します。
public delegate string WebServiceDelegate(DataKey key);
protected void btnCheckAll_Click(object sender, EventArgs e)
{
foreach (DataKey key in gvTest.DataKeys)
{
WebServiceDelegate wsDelegate = new WebServiceDelegate(GetWebserviceStatus);
wsDelegate.BeginInvoke(key, new AsyncCallback(UpdateWebserviceStatus), wsDelegate);
}
}
public string GetWebserviceStatus(DataKey key)
{
return String.Format("Updated {0}", key.Value);
}
public void UpdateWebserviceStatus(IAsyncResult result)
{
WebServiceDelegate wsDelegate = (WebServiceDelegate)result.AsyncState;
Label lblUpdate = (Label)gvTest.Rows[???].FindControl("lblUpdate");
lblUpdate.Text = wsDelegate.EndInvoke(result);
}