LoginSignup
7
6

More than 5 years have passed since last update.

ASP.NET WebForm UpdatePanelロード時に処理をする

Last updated at Posted at 2014-04-01

ASP.NET WebFormでは、JavaScript側でpageLoadという名前のfunctionを用意しておくとページが読み込まれるたび処理してくれます。これはUpdatePanelでのロード時も例外ではありません。
※つまりPostBackも含めた通常のページロード、UpdatePanelの更新、あらゆる場合でpageLoadは動きます。

<script>
    function pageLoad(sender, args) {
        console.log("page load event occur");
    }
</script>

使いどころとしては、jQuery UI等の部品をUpdatePanel内で使用している場合などです。

こうした部品(datePickerなど)は、通常$(document).ready()($())で初期化処理を行いますが、UpdatePanel内で使用している場合はpageLoadで行う必要があります。

なぜなら、これらのイベントはUpdatePanel更新時には動いてくれないためです。UpdatePanel内に部品がある場合、最初はうまく出てきますが一回UpdatePanelの更新を行うと部品が動作しなくなる・・・のはこのためです。

そのため、ページロード時一回だけ動いてくれればいい処理はdocument.ready、UpdatePanel更新時も含めて動いてくれないと困る処理はpageLoadと使い分ける必要があります。

<参考>
$(document).ready() and pageLoad() are not the same!
http://encosia.com/document-ready-and-pageload-are-not-the-same/

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6