2008-10-20 54 views
2

快速的問題:如何在ASP.NET AJAX中做頁面初始化函數?

似乎有一些奇怪的事情,人們可以做的,如果有人想要的,掛鉤頁面加載類型的事件。這裏有一些具體的問題:

  1. 我知道關於自動掛鉤pageLoad函數。還有其他人喜歡嗎?
  2. 我該如何處理來自例如Sys.Application.add_initSys.WebForms.PageRequestManager.getInstance().addPageLoading的事件?
  3. 其中前兩者與pageLoad有什麼區別?
  4. 更重要的是,在開始連接事件處理程序,處理頁面等之前,確保ASP.NET AJAX文件全部加載的「正確」方法是什麼?我目前的做法是使用自動連接的pageLoad連接其餘的,但這似乎有點哈克。

謝謝!

回答

2
  1. 內置pageLoad函數只是Sys.Application.load事件的快捷方式。還有一個 - pageUnload。查找更多信息here
  2. 您幾乎可以隨時掛鉤這些事件 - 使用pageLoad函數,在腳本塊中調用add_init/add_load方法或從服務器端調用ScriptManager.RegisterStartupScript。只要確保您在表單標籤內調用該JavaScript(請參閱#4)。默認情況下,所有這些事件都是在加載頁面之後發生的,因此您的代碼應該在那之前已經被執行了。
  3. 從技術上講,使用pageLoad和加載事件應該沒有區別 - 第一個更容易掛鉤。
  4. 默認情況下,ASP.NET Ajax腳本文件在表單標記的開始之後呈現。這意味着這些文件將在表單標記中定義的任何其他JavaScript語句執行之前加載。