Pernah kah anda mengalami hal ini??
Jadi ketika anda sedang meload sebuah Page..
Panel yg seharusnya merupakan ModalPopupExtender (bahasa gaulnya : Pop Up), muncul sepersekian detik lalu menghilang..
Si Panel bandel ini muncul secepat kedipan mata.. Wow..
Biasanya sih ini terjadi ketika suatu halaman nge-load cukup lama.. sehingga Panel tersebut terlihat nongkrong di sono, sebelum akhirnya diproses masuk ke dalam Pop Up..
SOLUSI :
Cukup mudah koq.. anda cukup menambahkan satu Panel Dummy kosong sebagai pengganti panel yg sesungguhnya..
Misalnya contoh kasus.. Panel Pop Up bernama "Panel_PopUpPapIp"..
//WebPage.aspx <AjaxControl:ModalPopupExtender ID="MPE1" runat="server" TargetControlID="hiddenButton" PopupControlID="Panel_PopUpPapIp" /> <asp:Panel ID="Panel_PopUpPapIp" runat="server"> ... </asp:Panel>
Kita cukup tambahkan sebuah Panel Dummy kosong bernama "Panel_DummyLoh"
Lalu kita sembunyikan Panel "Panel_PopUpPapIp" dengan mengubah Visible nya menjadi false..
//WebPage.aspx <AjaxControl:ModalPopupExtender ID="MPE1" runat="server" TargetControlID="hiddenButton" PopupControlID="Panel_PopUpPapIp" /> <asp:Panel ID="Panel_DummyLoh" runat="server"></asp:Panel> <asp:Panel ID="Panel_PopUpPapIp" runat="server" Visible="false"> ... </asp:Panel>
LALUUUUUU.. kita ubah PopupControlID nya untuk sementara ke "Panel_DummyLoh" :
//WebPage.aspx <AjaxControl:ModalPopupExtender ID="MPE1" runat="server" TargetControlID="hiddenButton" PopupControlID="Panel_DummyLoh" /> <asp:Panel ID="Panel_DummyLoh" runat="server"> <asp:Panel ID="Panel_PopUpPapIp" runat="server" Visible="false"> ... </asp:Panel>
Setelah ini beres.. Kita Search code untuk memunculkan ModalPopUpExtender ini..
//WebPage.aspx.cs
MPE1.Show();
Tambahkan Code ini untuk memasukkan kembali "Panel_PopUpPapIp" ke dalam Pop Up..
Ingat ditambahkan sebelum MPE1.Show lohhh... jadi setidaknya dimasukkan kembali sebelum pop up itu muncull...
//WebPage.aspx.cs Panel_PopUpPapIp.Visible = true; MPE1.PopupControlID = "Panel_PopUpPapIp"; MPE1.PopupDragHandleControlID = "Panel_PopUpPapIp"; MPE1.Show();
Solved.. Ahay..
Tidak ada komentar:
Posting Komentar