2010-01-12 43 views
0

我已經在webpart上編寫了一些日子。這個webpart的要點是清理一個給定的文檔庫。我在那裏有16 000多個msg文件,我必須根據一些給定的規則來驗證每個msg文件的「收件人」和「發件人」標題。Web部件中的異步方法

一切都很好,除了這個過程需要永久。 To或From中允許的所有可能值都存儲在SharePoint本身的SPLists中。

我能夠通過異步調用特定的郵件驗證方法,將業務規則和Web部件自身的驗證過程分開。

現在,在這裏我有點失去了技術部分:

該方法返回一個我要綁定到CheckBoxList的一個解釋。 那麼我該如何做到這一點?因爲我必須等到我的異步郵件驗證方法完成,直到我可以綁定CheckBoxList的數據源?

我的web部件實際上不包含我在webpart中加載的用戶控件。

回答

0

你有沒有考慮過使用jQuery/Ajax而不是usercontrols和直接代碼?多數民衆贊成我如何處理我的webparts異步加載,銘記我們的開發99%使用xml/xslt生成html。

+0

我不太明白你的答案。我使用用戶控件,因爲這對我來說似乎是一種更乾淨的方法,然後直接在Web部件本身編碼。我只需要一種方法,我需要異步運行。一個C#方法。我不認爲,jQuery/AJAX可以幫助這個或我錯了嗎? – 2010-01-13 15:38:09

0

您的異步方法應該調用一個繼續處理的回調函數。這個回調應該做綁定;它只發生在異步過程完成時。

或者,有很多項目,您仍可能遇到問題。爲什麼不創建一個完全異步的過程?您的web部件可以在SharePoint中安排一次運行一次的計時器作業,它可以異步執行清理。或者將您的工作細節記錄在列表中,該列表可以通過預定的可執行命令或stsadm命令擴展來獲取。 這將適用於您列表中的任意數量的項目。

+0

謝謝。我的確遇到了許多問題。我已將您需要在列表中刪除的項目應用於您的解決方案。然後,我的web部件檢查該列表是否包含項目並對其執行操作。這不是很理想,因爲我需要重新加載包含webpart的頁面。 – 2010-01-13 15:35:55