2017-06-20 43 views
0

我的模態彈出延遲和它的奇怪。在調試模式下,行ModalPopupExtender2.Show();已被執行。模式彈出在母版頁 - 網絡形式延遲

Master.Master.cs

protected void Page_Load(object sender, EventArgs e) 
{ 
    ModalPopupExtender2.Show(); 
} 

Master.Master

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %> 
<form id="form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager> 

<asp:Label ID="lbldummy" runat="server" Text=""></asp:Label> 

<act:ModalPopupExtender ID="ModalPopupExtender2" runat="server" BackgroundCssClass="modalpop" TargetControlID="lbldummy" PopupControlID="button"> 

<div class="modal-dialog modal-md modal-scrollable" id="button" runat="server"> 
// some content 
</div> 

</form> 

爲什麼我的模態彈出慢嗎?我想在2-3秒內。

對於故障排除,我已經嘗試使用JavaScript顯示ModalPopupExtender,它工作正常。

謝謝。

+0

可能是因爲ModalPopupExtender速度慢,而且Web窗體速度很慢,您必須小心,不要讓事情變得緩慢。爲什麼不花時間學習如何進行客戶端開發,而不是依賴這些漏洞抽象?選擇一個庫,並使用它創建漂亮的外觀彈出窗口,而不需要服務器交互。像[Boostrap Modals](http://getbootstrap.com/javascript/#modals)或[jQuery UI對話框](https://jqueryui.com/dialog/)。 – mason

+0

你說得對。最好選擇模式的客戶端開發。 ModalPopupExtender在WebForms中不能正常工作,換句話說,當我把ModalPopupExtender放在master這個問題中時,我發現在調試模式下,我總是在2-3秒內返回母版頁,然後模態彈出。 – Joseph

+0

爲了解決問題,我已經嘗試使用JavaScript顯示ModalPopupExtender,並且它沒有延遲地正常工作。 – Joseph

回答

0

根據ASP.NET - Life Cycle,頁面加載很快就會調用。在其他服務器函數調用完成之前,然後瀏覽器完成在客戶端上呈現HTML之前,不會顯示彈出窗口。 這是我猜是延遲的來源,直到你提供了其餘代碼發生的事情。

+0

也許你是對的,我不知道爲什麼在除了母版頁以外的其他網絡形式。這種模式彈出工作正常,沒有延遲。請注意,modalshow也在頁面加載。希望你明白我的意思。 – Joseph

+0

同樣基於這個例子http://www.c-sharpcorner.com/UploadFile/8911c4/page-life-cycle-with-examples-in-Asp-Net/當你在Page Load中加入一個控件時,它會加載在第一個加載 – Joseph

+0

你會打擾注意其他頁面上的延遲與相同的母版頁沒有代碼? 嘗試使用主頁創建新的Web窗體並觀察。 –