Page.Response.Write();
Page.RegisterStartupScript();
Page.RegisterClientScriptBlock();
三者的區別
Response.Write輸出後的位置在源檔案的第一行.
RegisterStartupScript輸出後的位置會在</form>的上一行.
RegisterClientScriptBlock輸出後的位置會在<form>的下一行.(在asp.net內建的指令碼和一些隱藏欄位之下).
如果你的指令碼有與頁面對象(doucument對象)進行互動的語句,則推薦使用 RegisterStartupScript,反之如果要想用戶端指令碼儘可能早的執行,則可以使用RegisterClientScriptBlock或 Response.Write。
protected void Page_Load(object sender, EventArgs e){ string myScript = @"alert(document.all.TextBox1.value);"; Page.ClientScript.RegisterStartupScript(this.GetType(),"MyScript", myScript, true);}
public static void OpenWindowScript(Page pg,string url,string windowname) { string scriptBlock; scriptBlock="<script language='javascript'>/n"+ "window.open("+"'"+url+"','"+"windowname"+"',"+"'toolbar=no,location=no,resizeabel=0,width=400,height=400'"+");"+ "</script>"; pg.RegisterClientScriptBlock("OpenWindow",scriptBlock); //也有pg.ClientScript.RegisterClientScriptBlock(Tyep type,string key ,string script) }