RegisterStartupScript(key, script)
RegisterClientScriptBlock(key, script)
雖然都可以達到註冊 Javascript 的目的但他們實際上是有所差異的。
RegisterClientScriptBlock( ),他會將我們自訂的 JavaScript 產生在
<form runat="server"> 標籤之後,你可以在檢視網頁原始碼
時看到他。
RegisterStartupScript( ),則是產生在 </form> 標籤之前。
產生的先後順序,會造成影響的地方,在於觸發 Client 端 JavaScript
的時機。 假設你有一個 JavaScript 要將滑鼠游標停駐在某一個 TextBox,
如果你將 JavaScript 放在 <form runat="server">之後,則 TextBox
的 HTML Code 尚未來得及產生,卻硬是要去設定游標位置,這時就會出現
JavaScript的錯誤。在這情況裡,選擇 RegisterStartupScript 會是個合適的
選擇。
的時機。 假設你有一個 JavaScript 要將滑鼠游標停駐在某一個 TextBox,
如果你將 JavaScript 放在 <form runat="server">之後,則 TextBox
的 HTML Code 尚未來得及產生,卻硬是要去設定游標位置,這時就會出現
JavaScript的錯誤。在這情況裡,選擇 RegisterStartupScript 會是個合適的
選擇。
參考網址:http://msdn.microsoft.com/en-us/library/aa478975.aspx
(Injecting Client-Side Script from an ASP.NET Server Control)
(Injecting Client-Side Script from an ASP.NET Server Control)