2012-11-14 37 views
0

我有一個網頁有一個定時器控制,1個更新面板,幾個下拉菜單等 許多下拉所選指標的改變需要顯示超過1個額外的控制或者隱藏一些控件。問題在於用戶沒有意識到它尚未完成事件點擊需要很長時間。請提出一些想法。C#降downlist服用大量的時間選擇指數的變化

+0

爲何需要很長的時間? – climbage

+2

1.寫更有效的代碼,或2.購買更快的網絡服務器,或3,不要使用需要往返到服務器的每一個UI交互 – ean5533

回答

2

如果需要很長時間,我認爲您在下拉選擇更改時使用服務器端事件處理程序。當服務器端事件觸發時,這意味着您的表單被重新發送回服務器,服務器重新呈現表單並將其發送回客戶端,然後客戶端替換更新面板的內容。因此,用戶會受到多種因素的影響而導致緩慢。

如果您有選項,您可以重新修改頁面,以便事件處理在客戶端完成。您必須編寫一些JavaScript代碼,並確保更新頁面的必要數據可用於您的JavaScript。如果您無法公開純粹更新客戶端所需的所有數據,則可以進行Ajax調用以獲取所需的數據;這應該比完整的部分回發更輕量級。

所有這一切都做了大量的工作,但應該讓你的網頁速度更快。當然,也許你並不需要解決頁面的速度問題,但可以提供更好的反饋,讓用戶知道該頁面正在更新。例如,如果在部分回發正在進行時您有「正在加載...」指示符,則用戶將知道要等待。

+0

感謝雅各工作都是圍繞網絡堆棧。我使用了加載圖片進行回傳。起初我有大部分事件處理在客戶端完成,但後來不得不添加一個計時器保存,然後定製的富文本編輯器,所以客戶端代碼不能正常工作,太感動了整個事件處理程序的服務器端。 – Ann