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();」にヒットしても コードでは、モーダル パネルは表示されません。

4

2 に答える 2

2

2 つのソリューション:

最初の解決策:

から削除Style="display:none"pnlModalPopupます。

最初の解決策は、ページが最初にロードされたときにポップアップが画面上で「点滅」し、その後すぐに消えることです。

2番目の解決策:

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

推奨事項: 2 番目の解決策を使用することをお勧めします。これにより、モーダル ポップアップがちらつき、消えなくなります。

編集:私はちょうどあなたのコードをテストしました:

提供されたコードのみを含む単純なページでコードをテストしました...期待どおりに機能しました。

以下を確認してください。

  1. モーダル ポップアップは、UpdatePanel条件付きで更新される で定義されていますか?
  2. Panelモーダル ポップアップが、可視性が false に設定されている で定義されていないことを確認してください。
  3. それが機能しない場合は、モーダル ポップアップがレンダリングされた Web ページのソース コードに実際にあるかどうかを確認します。
于 2009-10-22T19:32:55.310 に答える
0

必要に応じて Chris のコメントを聞いてください。

display:none は外見上必要です。そうしないと、ページの読み込み時にポップアップが表示され、ModalPopupExtender が起動して非表示になる間にすぐに消えます。

次のように表示する必要がありました。

  pnlModalPopup.Visible = true;           
  modalMessage.Show();
于 2009-10-22T19:39:15.360 に答える