2010-08-10 66 views
4

註冊如何訂購腳本,我想提醒1順序通過ScriptManager的註冊腳本

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "a", "alert(a);", true); 
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "b", "var a = 1;", true); 

註冊腳本,但這樣做會導致一個錯誤說一個是不確定的。

我有不同的控件位於頁面的不同部分註冊腳本,其中一些需要先去,其他需要去最後。

有沒有辦法設置它將渲染的順序?

回答

3

不,不可能定義調用RegisterClientScriptBlock方法的順序。從documentationScriptManager.RegisterClientScriptBlock方法(重點煤礦):

腳本塊不保證 是在順序輸出他們 註冊。如果腳本 塊的順序是非常重要的,在單串, 使用 StringBuilder對象來收集 腳本在一起,然後將它們註冊在一個單一的 客戶端腳本塊。

此外,您可能要定義一個不同的密鑰(第二個參數; "a")爲 RegisterStartupScriptBlock第二次調用,因爲註冊的腳本都是通過其鍵標識。如果您使用參數調用此方法, ScriptManager將不會註冊第二個腳本,因爲具有相同密鑰的另一個腳本( "a")已被註冊。

+0

'a'鍵是一個複製和粘貼錯誤,修復。謝謝。 – BrunoLM 2010-08-10 15:09:08

+0

@BrunoLM不客氣 – 2010-08-10 15:17:44