2009-12-05 45 views
0

我需要從網頁後面的代碼異步調用web服務的webmethod。 在回調函數中,我需要綁定一個gridview並進行渲染。我想在代碼隱藏的回調函數中部分呈現該gridview。如何異步調用webmethod並部分呈現控件?

如何實施?

是否有可能在不使用javascript的情況下在代碼隱藏中實現所有這些?

+1

我確定的一件事是它是不可能實現沒有JavaScript。當你說「partial」,「callback」時,已經有一些javascript在做一些魔術 – asyncwait 2009-12-05 07:19:07

回答

2

有幾個選項,但基本上你需要做這樣的事情:

  1. 使用Visual Studio構建一個代理類來訪問Web服務,使用已發佈的WSDL
  2. 創建通過在Page指令中設置Async = True
  3. 在您的代碼的Page_Load()方法後面,通過創建PageAsyncTask對象並調用RegisterAsyncTask()來註冊將開始和結束異步Web服務調用的方法
  4. 從方法啓動異步任務,調用作爲代理類一部分創建的Begin方法,並將關聯的IAsyncResult返回給調用方
  5. 當Web服務調用完成時,運行時將調用您的註冊結束方法。從那裏,在代理中調用End方法來獲得調用的結果。
  6. 將結果數據綁定到頁面上的GridView。

如果有幫助,我在本書中通過一個詳細的例子,包括示例代碼:Ultra-Fast ASP.NET