傳統上由頁面開發者撰寫腳本,ASP.NET 讓伺服器控件可輸出客戶端腳本,結合伺服器端邏輯。範例:Button.OnClientClick = "return confirm('Hello World!');"。
public class SimpleButton : Button
{
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
writer.AddAttribute("onclick", "window.confirm('Hello World! ');");
}
}
| 方法 | 用途 |
|---|---|
RegisterClientScriptBlock | 頁面頂部插入腳本塊,可能早於元素渲染。 |
RegisterClientScriptInclude | 引用外部 .js 檔,優先於動態腳本載入。 |
RegisterStartupScript | 頁面載入完成、onload 前執行,適合初始化語句。 |
RegisterOnSubmitStatement | 表單提交前執行,可取消提交。 |
IsStartupScriptRegistered | 檢查啟動腳本是否已註冊。 |
IsClientScriptBlockRegistered | 檢查客戶端腳本塊是否已註冊。 |
複雜控件開發時,善用 ClientScriptManager 管理腳本註冊順序與去重,避免重複引用或時序錯誤。詳細用法請參閱 MSDN。