Page.Response.Write("<script>var response;</script>");
Page.RegisterStartupScript("RegisterStartupScript","<script>var RegisterStartupScript;</script>");
Page.RegisterClientScriptBlock("RegisterClientScriptBlock","<script>var RegisterClIEntScriptBlock;</script>");
Response.Write輸出後的位置在源文件的第一行.
RegisterClIEntScriptBlock輸出後的位置會在<form>的下一行.(在ASP.Net自帶的腳本和一些隱藏域之下).
RegisterStartupScript輸出後的位置會在</form>的上一行.
RegisterClIEntScriptBlock的原型與RegisterStartupScript相同,兩個函數不同在於將其包含的腳本代碼寫入到Html文件的不同位置.RegisterClientScriptBlock在 Page 對象的 元素的開始標記後立即發出客戶端腳本,RegisterStartupScript則是在Page 對象的 元素的結束標記之前發出該腳本。如果你的腳本有與頁面對象(doucument對象)進行交互的語句,則推薦使用RegisterStartupScript,反之如果要想客戶端腳本盡可能早的執行,則可以使用RegisterClIEntScriptBlock或Response.Write。
RegisterClientScriptBlock一般返回的是客戶端函數的包裝,而RegisterStartupScript返回得函數在document裝載完成後會執行,類似於我們平時所說的body onload="f()"裡面的函數;這兩個方法在客戶端呈現的代碼位置不同,RegisterClIEntScriptBlock在<form runat=server>之後,而RegisterStartupScript在</form>之前。