簡體   English   中英

另一個模式彈出擴展程序問題

[英]Another modal popup extender question

我正在嘗試使模式彈出窗口起作用,需要在后面的代碼中觸發它。

 <asp:Button ID="btnModalPopUp" runat="server" Text="Button" Style="display: none" />
<asp:Panel ID="pnlModalPopup" runat="server" CssClass="modalPopup" Style="display: none"
    Width="233px">
    <div id="Div1" runat="server" cssclass="title">
        Modal text here.
        <asp:TextBox ID="txtEditComments" runat="server"></asp:TextBox>
    </div>
</asp:Panel>
<cc1:ModalPopupExtender ID="modalMessage" runat="server" TargetControlID="btnModalPopUp"
    PopupControlID="pnlModalPopup" BackgroundCssClass="modalBackground"         DropShadow="true"/>

后面的代碼:

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

即使命中“ modalMessage.Show();” 代碼不顯示模式面板。

兩種解決方案:

第一個解決方案:

pnlModalPopup刪除Style="display:none"

第一種解決方法是,在頁面首次加載后,彈出窗口在屏幕上“閃爍”,然后迅速消失。

第二種解決方案:

protected void Page_Load(object sender, EventArgs e)
{
    pnlModalPopup.Style["display"] = "block";
    modalMessage.Show();
}

建議:我建議使用第二種解決方案,這樣模態彈出窗口不會閃爍然后消失。

編輯:我剛剛測試了您的代碼:

我只是在一個簡單的頁面中測試了您的代碼,該頁面僅包含您提供的代碼... 工作正常

檢查以下內容:

  1. 是否在有條件更新的UpdatePanel中定義了模式彈出窗口?
  2. 檢查以確保未在將其可見性設置為false的Panel中定義模式彈出窗口。
  3. 如果這不起作用,則檢查模式彈出窗口是否確實在呈現的網頁的源代碼中。

根據需要聽克里斯的評論:

display:外觀上不需要任何內容​​,否則將在頁面加載時顯示彈出窗口,然后在ModalPopupExtender插入並隱藏它時會快速消失。

我們必須像這樣顯示我們的節目:

  pnlModalPopup.Visible = true;           
  modalMessage.Show();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM