0

2 つのモーダル ポップアップを表示しているときに問題に直面しています。シナリオは次のようになります。

ボタンのクリック時にモーダル ポップアップを 1 つ表示します。このモーダル ポップアップ内に別のボタンがあります。このボタンをクリックすると、別のモーダル ポップアップが表示されます。問題は、2 番目のポップアップを表示すると、最初のポップアップがまだクリック可能であることです。ユーザーが最初のポップアップをクリックできないようにするにはどうすればよいですか。

どんな助けでも大歓迎です

ありがとう!

4

4 に答える 4

0

前にこれに出くわしました... エクステンダーをパネルに関連して配置する場所に関して、いくつかの癖がありました。最終的にどのバージョンが機能したかは具体的に覚えていませんが、次の組み合わせで試すことができます。

例えば

<!-- 2 Seperate Panels & Extenders -->
<ajt:ModalPopupExtender ID="mpe1" TargetControlID="pnl1" />
<asp:Panel ID="pnl1">
   <asp:Button ID="btn1" /> <!-- launches pnl2 popup -->
</asp:Panel>

<ajt:ModalPopupExtender ID="mpe2" TargetControlID="pnl2" />
<asp:Panel ID="pnl2">
   Content
</asp:Panel>

対。

<!-- 2 Nested Panels & But separate Extenders -->
<ajt:ModalPopupExtender ID="mpe1" TargetControlID="pnl1" />
<asp:Panel ID="pnl1">
   <asp:Button ID="btn1" /> <!-- launches pnl2 popup -->
   <asp:Panel ID="pnl2">
       Content
   </asp:Panel>
</asp:Panel> 
<ajt:ModalPopupExtender ID="mpe2" TargetControlID="pnl2" />

対。

<!-- 2 Fully Nested Panels & Extenders -->
<ajt:ModalPopupExtender ID="mpe1" TargetControlID="pnl1" />
<asp:Panel ID="pnl1">
   <asp:Button ID="btn1" /> <!-- launches pnl2 popup -->
   <ajt:ModalPopupExtender ID="mpe2" TargetControlID="pnl2" />
   <asp:Panel ID="pnl2">
       Content
   </asp:Panel>
</asp:Panel> 
于 2009-05-27T14:38:06.737 に答える
0

これがhtmlと関係があると仮定します:

2 番目のポップアップの zindex を最初のポップアップよりも高く設定します

最初のポップアップ:

position:relative;
z-index:1;

2 番目のポップアップ:

position:relative;
z-index:2;
于 2009-05-27T14:35:09.803 に答える
0

ページをグレー表示する背景 CssClass を設定するか、コード ビハインドでクリックをキャプチャし、externer.hide() メソッドを呼び出して前のポップアップを非表示にするように指示すると、探しているものが得られます。

于 2009-12-12T18:28:09.453 に答える
0

同様の問題に遭遇しました。2 つのモーダル ポップアップを使用するのではなく、2 つのパネルを含む 1 つのパネルを配置します。親パネルはモーダル ポップアップ エクステンダを取得しますが、内部の 2 つのパネルは、クリックされたボタンに基づいて非表示/表示されます。モーダルに適用されるスタイルに応じて、CSS で z-index を適用することは機能しますが、他のモーダルが透けて見えることに遭遇しました。

2 つの子を持つパネルの簡単なコード例は次のとおりです。

<asp:Panel id="pnlParent" runat="server">
<asp:panel id="pnlChild1" runat="server" visible="false">
... controls ...
</asp:Panel>
<asp:Panel id="pnlChild2" runat="server" visible="false">
</asp:panel>
<asp:ModalPopupExtender id="mpePnlParent" runat="server" ...other attributes .../>

ここで、最初のボタン クリックで、pnlchild1 の可視性を true に設定します。pnlChild1 のボタンの onclick イベントは、pnlChild1 の可視性を false に設定し、pnlChild2 の可視性を true に設定します。

最後に、2 番目の子パネルを完了するアクションで、両方の子パネルを非表示にし、パネルの .Hide() メソッドで modalpopup を非表示にします。

メイン画面の背景をグレー表示し、モーダル コンテンツを「ハイライト」するためにモーダル ポップアップで試す CSS を次に示します。

.modalBackground
{
    background-color: #000011;
    -moz-opacity: .60;
    filter: alpha(opacity=60);
    opacity: .60;
}
.modalPopup
{
    padding: 5px;
    border: 5px outset #00F;
    background-color: #FFF;
    width: 640px;
}

上記の CSS は、クロス ブラウザーに対して安全です。

幸運を

于 2011-08-09T01:18:28.227 に答える