質問

モーダルポップアップを機能させようとしていますが、コードビハインドでトリガーする必要があります。

 <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();
}

&quot; modalMessage.Show();&quot;にヒットしてもモーダルパネルを表示しないコード。

役に立ちましたか?

解決

2つのソリューション:

最初の解決策:

Style = quot; display:none&quot; pnlModalPopup から削除します。

最初の解決策は、ポップアップを「フラッシュ」することです。ページが最初に読み込まれたときに画面に表示され、その後すぐに消えます。

2番目の解決策:

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

推奨事項: モーダルポップアップがちらついて消えないように、2番目のソリューションを使用することをお勧めします。

編集:コードをテストしました:

提供したコードのみを含むシンプルなページでコードをテストしました... 期待どおりに動作しました

次を確認します。

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

他のヒント

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

  

display:noneは表面的に必要ですが、   そうでない場合は、ポップアップが表示されます   ページがロードされ、すぐに   ModalPopupExtenderの間に消えます   蹴って隠します。

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

  pnlModalPopup.Visible = true;           
  modalMessage.Show();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top