1
我上週開始與代表一起工作,我試圖在後臺更新我的gridview異步。一切順利,沒有錯誤或類似的,但我沒有得到我的EndInvoke後的結果。有誰知道我做錯了什麼?爲什麼AsyncCallback不能更新我的GridView?
下面的代碼片段:
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);
}
感謝您的快速回答..我繼續做了一些自己的事情,並在閱讀您的答案後,它變得清晰,行不返回任何東西。我會嘗試更新對象以保存標籤句柄 編輯:我也更新了上面的代碼到我現在的版本。 – Naruji 2010-04-06 14:16:16
我只是不知道如何處理行,也許我應該添加一個int和++每遇到它..但如果你問我,這只是簡單的醜陋。 – Naruji 2010-04-06 14:25:06