jquery ui datepicker とUpdatePanel
datepickerを使うのに下記のように書いていたのですが、UpdatePanelが動くところで当然下記が呼ばれないので、1回でもUpdatePanelで更新が行われると、Calendarが出なくなる問題を解決
(前)
<script type="text/javascript"> $(function () { if ($('.popupDatepicker').datepick) $('.popupDatepicker').datepick(); }); </script>
(後)
<asp:ScriptManager ID="manager" runat="server" EnableScriptGlobalization="True" onasyncpostbackerror="manager_AsyncPostBackError" EnablePartialRendering="true"></asp:ScriptManager> <script type="text/javascript" language="javascript"> Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded( function (evt, args) { if ($('.popupDatepicker').datepick) $('.popupDatepicker').datepick(); }); </script>
pageLoadedイベント
pageLoaded イベントは、ページが同期 (ページ全体) ポストバックまたは非同期ポストバックのどちらが実行された結果として更新された場合でも、ページ上のすべてのコンテンツが最新の情報に更新された後に発生します。 このイベントを使用すると、更新されたコンテンツにカスタム遷移効果を適用できます。
ということで、これでイベントが発生するのでばっちり。
結構時間くった。