核心語法
ScriptManager.RegisterStartupScript(
searchBtn, // 控制項參考(任意頁面上的控制項)
this.GetType(), // 型別識別(固定寫法)
"clickPage", // 腳本鍵值(自訂字串,避免重複註冊)
"clickPage(" + pageIn.ToString() + ");", // 實際執行的 JS 代碼
true // 自動加上 <script> 標籤
);
參數詳細說明
| 參數 | 說明 |
| control | 頁面上任一控制項實例(如 Button、HiddenField),用於識別腳本註冊上下文。 |
| type | 通常傳 this.GetType(),識別呼叫者型別。 |
| key | 腳本唯一鍵值,相同 key 只會輸出一次,防止重複註冊。 |
| script | 要執行的 JavaScript 代碼字串,不含 <script> 標籤。 |
| addScriptTags | 設為 true 時,自動包裹 <script type='text/javascript'>...</script>。 |
常見應用場景
- 更新面板 (
UpdatePanel) 非同步回傳後,重新初始化前端元件(如日期選擇器、圖表)。
- 後端驗證失敗後,呼叫前端顯示錯誤訊息、聚焦欄位。
- 分頁控制項回傳後,觸發 JS 捲動至列表頂端或高亮當前頁碼。
注意事項
- 若頁面未使用
ScriptManager(如非 AJAX 頁面),可改用 ClientScript.RegisterStartupScript。
- 傳遞字串參數時注意跳脫單引號,避免 JS 語法錯誤。
- 腳本會在頁面載入完成(
DOMContentLoaded 後)執行,確保目標元素已存在。