2009-10-22 71 views
0

我試圖讓模式彈出框工作,它需要在後面的代碼中觸發。另一種模式彈出式擴展程序問題

<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();」代碼它不顯示模式面板。

+0

OK - 這是什麼問題?順便說一下: Arthur 2009-10-22 19:03:56

+1

@Arthur:'display:none'需要美觀,否則當頁面加載時彈出窗口會顯示,然後在ModalPopupExtender啓動並隱藏時會很快消失。 – Chris 2009-10-22 19:35:28

+0

只是一個問題,但是如果您從btnModalPopup中刪除「display:none」,是否會執行此操作? – 2009-10-22 19:39:43

回答

2

兩個解決方案:

第一個解決方案:

pnlModalPopup刪除Style="display:none"

第一種解決方案是當頁面第一次加載時,會導致彈出窗口在屏幕上「閃爍」,然後迅速消失。

第二種方案:

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

建議: 我會建議使用第二種方案,但這樣的模式彈出不閃爍,然後消失。

編輯:我只是測試你的代碼:

我只是測試你的代碼中僅包含您所提供它的工作像預期代碼...... 一個簡單的頁面。

檢查以下內容:

  1. 是您的模式彈出是在UpdatePanel被有條件地更新定義?
  2. 檢查以確保在Panel中未將其可見性設置爲false的模式彈出窗口定義。
  3. 如果這不起作用,那麼檢查模態彈出窗口是否實際位於渲染網頁的源代碼中。
+0

這兩個解決方案不起作用。不管怎麼說,還是要謝謝你。 – 2009-10-22 19:38:52

+0

在您的代碼中是否有任何其他引用可以設置'pnlModalPopup'(通過樣式標記或可見屬性)的可見性? – Chris 2009-10-22 19:41:09

+0

CSS: .modalBackground { background-color:Gray; filter:alpha(opacity = 70); 不透明度:0.7; } .modalPopup { } background-color:#ffffff; padding:3px; } 這是我用這些控件做的唯一樣式。 – 2009-10-22 19:48:24

0

聽克里斯的評論,因爲它需要:

顯示:在美容需要沒有, 否則彈出時會顯示 頁面載入,然後將迅速 消失而ModalPopupExtender 踢入並隱藏它。

我們不得不做出我們的表現是這樣的:

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

只有當它們將Visible屬性設置爲false後面的代碼的某處時才起作用,因爲他沒有在標記中設置Visible屬性。如果是這種情況......他應該考慮**從不將「可見」屬性設置在首位。** – Chris 2009-10-22 19:46:09

+0

我們不在我們的可見屬性中設置測試。 – 2009-10-22 19:46:47

+0

如果該模式不顯示,則很可能出現JavaScript錯誤。 – 2009-10-22 19:53:01

相關問題