UpdateProgress 控制項

UpdateProgress 控制項可在 UpdatePanel 控制項中提供部分網頁更新的狀態資訊。您可以自訂 UpdateProgress 控制項的預設內容與版面配置。為防止在部分網頁更新快速執行時出現畫面閃爍的情形,您可以指定在顯示 UpdateProgress 控制項之前加以延遲。

UpdateProgress 控制項有賴 web.config 檔案中的特定設定,才能正常運作。在嘗試使用此控制項時,若您的網站中沒有包含必要的 web.config 檔案,則原本應顯示該控制項之網頁的 [設計] 檢視中會出現錯誤。若您在 [設計] 檢視中按一下處於該狀態的控制項,Microsoft Expression Web 將會讓您選擇建立新的 web.config 檔案,或更新現有的 web.config 檔案。

案例

若網頁中包含一或多個使用於部份網頁呈現的 UpdatePanel 控制項,UpdateProgress 控制項將有助於您設計較為直覺式的 UI。若部分網頁更新速度緩慢,您可以使用 UpdateProgress 控制項提供視覺化的更新狀態回應。同一網頁上可放置多個 UpdateProgress 控制項,各自關聯於不同的 UpdatePanel 控制項。此外,您也可以在網頁上使用單一 UpdateProgress 控制項,並建立此控制項與所有 UpdatePanel 控制項的關聯。

背景

UpdateProgress 控制項會呈現 <div> 元素,並根據關聯的 UpdatePanel 控制項是否造成非同步回傳,而顯示或隱藏該元素。在呈現初始網頁以及同步回傳時,不會顯示 UpdateProgress 控制項。

建立 UpdateProgress 控制項與 UpdatePanel 控制項的關聯

設定 UpdateProgress 控制項的 AssociatedUpdatePanelID 屬性,可建立 UpdateProgress 控制項與 UpdatePanel 控制項的關聯。當回傳事件源自 UpdatePanel 控制項時,會顯示所有關聯的 UpdateProgress 控制項。若未建立 UpdateProgress 控制項與特定 UpdatePanel 控制項的關聯,則 UpdateProgress 控制項會顯示所有非同步回傳的進度。

若 UpdatePanel 控制項的 ChildrenAsTriggers 屬性設為 false,且該 UpdatePanel 控制項內產生了非同步回傳,則會顯示所有關聯的 UpdateProgress 控制項。

建立 UpdateProgress 控制項的內容

若要指定 UpdateProgress 控制項顯示的訊息,請在 [設計] 檢視的面板中放入您所需的內容。例如,您可以將其他 ASP.NET 與 HTML 控制項拖到面板中,再將游標放置於該面板中而直接輸入。當您在 [設計] 檢視中為 UpdateProgress 控制項新增訊息時,內容周圍會自動新增必要的 <ProgressTemplate> 標籤。若未使用 [設計] 檢視而是在 [程式碼] 檢視中為 UpdateProgress 控制項新增內容,就必須手動新增未自動出現的 <ProgressTemplate></ProgressTemplate> 標籤,否則訊息將無法呈現。

指定內容配置

DynamicLayout 屬性為 true 時,UpdateProgress 控制項在網頁顯示中最初不會佔據任何空間。取而代之,網頁會以動態方式變更,而在必要時顯示 UpdateProgress 控制項內容。若要支援動態顯示,控制項必須呈現為最初顯示樣式屬性設為 [無] 的 <div> 元素。

DynamicLayout 屬性為 false 時,UpdateProgress 控制項將會佔據網頁顯示的空間,即使看不見控制項亦然。在此情況下,控制項的 <div> 元素會將其顯示樣式屬性設為區塊,並將可見度的初始設定設為隱藏。

在網頁上放置 UpdateProgress 控制項

您可以將 UpdateProgress 控制項放置於 UpdatePanel 控制項的內部或外部。每當與 UpdateProgress 控制項關聯的 UpdatePanel 控制項更新為非同步回傳的結果時,即會顯示 UpdateProgress 控制項。即使 UpdateProgress 控制項位於其他 UpdatePanel 控制項內,仍是如此。

若 UpdatePanel 控制項位於另一個更新面板內,而子面板內產生了回傳,即會顯示與子面板關聯的 UpdateProgress 控制項。它也會顯示所有與父面板關聯的 UpdateProgress 控制項。若回傳源自父面板的直屬子控制項,則只會顯示與父面板關聯的 UpdateProgress 控制項。此動作遵循回傳的觸發邏輯。

如需有關 UpdateProgress 控制項的詳細資訊,請參閱 MSDN Library 中的 UpdateProgress 控制項概觀 (英文)。

如需所有 UpdateProgress 控制項屬性的說明,請參閱 MSDN Library 中的 UpdateProgress 屬性 (英文)。

請參閱

概念

ASP.NET AJAX 控制項概觀