共用方式為


使用用戶端指令碼的 ASP.NET Web 伺服器控制項

更新:2007 年 11 月

某些 ASP.NET 伺服器控制項會視用戶端指令碼來決定其功能。此外,ASP.NET Web 網頁的某些功能也會依賴用戶端指令碼。知道 ASP.NET 控制項和網頁如何使用用戶端指令碼,有助於了解瀏覽器對於用戶端指令碼的支援差異可能對 ASP.NET Web 網頁所造成的影響。

項目清單

下表列出利用用戶端指令碼的控制項和控制項成員,以及用戶端指令碼所提供的功能。

控制項

用戶端指令碼功能

Page, HtmlForm, Panel

下列屬性需要用戶端指令碼:

UpdatePanel

用戶端指令碼用於部分網頁呈現 (非同步回傳),且為這個控制項的功能中不可或缺的一部分。

UpdateProgress

用戶端指令碼在非同步回傳要求擱置時用來顯示狀態,且為這個控制項的功能中不可或缺的一部分。

ScriptManager

這個控制項管理用戶端指令碼檔案和載入 Microsoft AJAX Library。

Timer

用戶端指令碼用於依定義的間隔時間從瀏覽器執行回傳事件。

LinkButtonImageButtonHtmlButton

注意事項:
其中不包括 Button 控制項、HtmlInputButton 控制項或 HtmlInputImage 控制項,這些控制項不需要用戶端指令碼。

用戶端指令碼是用來支援回傳事件。

Calendar

這個控制項會使用 LinkButton 控制項實作日、週和月份的巡覽。LinkButton 控制項會使用回傳事件的用戶端指令碼。如果使用 Calendar 控制項顯示不含選擇或巡覽的單一月份,控制項不需要用戶端指令碼。

DetailsView

如果控制項包含設定為 LinkButton 控制項的按鈕 (以便編輯、分頁等),這些功能需要用戶端指令碼。

用戶端指令碼可以用來分頁 (如果關聯的資料來源控制項支援這項功能)。

如果 EnablePagingCallbacks 屬性為 true,用戶端指令碼會用來管理回呼。

GridView

如果控制項包含設定為 LinkButton 控制項的按鈕 (以便編輯、分頁等),這些功能需要用戶端指令碼。

用戶端指令碼可以用來排序和分頁 (如果關聯的資料來源控制項支援這項功能)。

如果 EnableSortingAndPagingCallbacks 屬性為 true,用戶端指令碼會用來管理回呼。

Label

AssociatedControlID 屬性與 AccessKey 屬性一起使用可以產生用戶端指令碼,並將焦點設定在適當的控制項以回應鍵盤快速鍵。如果並未設定這些屬性,這個控制項就不需要用戶端指令碼。

Menu

用戶端指令碼是用來開啟和關閉功能表項目、顯示快顯面板,並且在使用者將滑鼠指標通過功能表項目時控制顯示。

TreeView

用戶端指令碼是用來開啟和關閉節點。當 TreeView 控制項設定為視需要填入節點時也會用到它。

您可以針對 TreeView 控制項停用用戶端指令碼,在這種情況下,伺服端程式碼會在回傳後執行選取行為。不過,節點本身會呈現為使用用戶端指令碼執行回傳的連結。因此,如果瀏覽器不支援用戶端指令碼,TreeView 就無法執行回傳。

AutoPostBack 屬性設定為 true 的任何 Web 伺服器控制項。

非按鈕控制項的 AutoPostBack 屬性行為會使用用戶端指令碼實作。

Web 組件控制項

用戶端指令碼是用來支援拖放行為、在區域中加入 Web 組件控制項、動作,以及匯入和匯出功能。

驗證器控制項:

用戶端指令碼是用來提供立即驗證回應。如果用戶端不支援程式碼,則驗證就只能在伺服器上執行。

將焦點設定在控制項的任何方法或屬性,例如控制項上的 Focus 方法和網頁的 SetFocus 方法。

用戶端指令碼是用來將焦點設定在指定控制項上。

這些控制項和成員所需的用戶端程式碼會自動產生並以網頁的一部分傳送。該用戶端指令碼與任何支援 ECMAScript (JScript, JavaScript) 的瀏覽器都相容,也就是說,不依賴動態 HTML (DHTML) 的進階指令碼功能。其中一個例外是 Web 組件控制項組,其需要 Microsoft Internet Explorer 5.5 (含) 以後版本以實作完整功能。

注意事項:

有些驗證功能可利用 DHTML (如果瀏覽器有的話),但 DHMTL 不是必要條件。

使用者有時會因安全性之故停用瀏覽器中的指令碼。如果這麼做,用戶端指令碼提供的功能就無法使用。如此一來會停用某些控制項,例如 LinkButton 控制項,也會停用 AutoPostBack 屬性的功能。驗證只會受到部分的影響,伺服器上仍然會執行驗證,但使用者無法獲得以用戶端為主之驗證的即時性。

請參閱

概念

ASP.NET Web 網頁中的用戶端指令碼

ASP.NET Web 伺服器控制項中的定位順序、焦點和便捷鍵