J'ai des problèmes pour appeler un popup modal du côté serveur. Donc, je mets le targetcontrolID de modalpopupextender à une étiquette cachée. Ensuite, dans le codebehind à partir du clic d'un bouton, j'essaie d'ajouter this.modalpopup.show(); Malheureusement, la fenêtre contextuelle modale n'apparaît pas lorsque cela se produit. Je peux voir le code s'exécuter, mais rien ne se voit.AJAX Toolkit Modal Popup n'apparaîtra pas
Voici mon ASP. moins l'ouverture < pour le bouton et popupextender, car pour une raison quelconque ces lignes ne seront pas affichées.
<asp:Button CssClass="Button" ID="button" runat="server" Text="Button" AccessKey="m" meta:resourcekey="buttonResource1" OnClick="button_Click" />
<ajaxToolkit:ModalPopupExtender ID="mpe" runat="server" TargetControlID="forpopup"
PopupControlID="PopupPanel" BackgroundCssClass="modalBackground" />
<asp:Label ID="forpopup" runat="server" Visible="False"></asp:Label>
<asp:panel id="PopupPanel" runat="server" BorderStyle="Groove" BorderColor="black" BorderWidth="3px" BackColor="AliceBlue" Height="200px" Width="200px" style="display: none">
<asp:Label ID="lblPopup" runat="server" Text="popup!"></asp:Label><br />
<br />
<asp:DropDownList ID="ddlData" runat="server">
</asp:DropDownList><br />
<br />
<asp:Button ID="btnPopupOK" runat="server" Text="Ok" />
<asp:Button ID="btnPopupCancel" runat="server" Text="Cancel" />
</asp:panel>
et voici mon codebehind
protected void button_Click(object sender, EventArgs e)
{
this.mpe.Show();
}
Je ne suis pas sûr que vous ayez besoin du style: display = none. Mais, pouvez-vous également afficher le code de l'extension contextuelle? De plus, avec l'extension, vous pouvez le pointer sur un bouton pour afficher le popup sans avoir à utiliser le code derrière. –
l'affichage = none empêche le popup d'apparaître sur le chargement, puis de disparaître. Pratique standard. –
s'il vous plaît modifier pour afficher la définition de l'extension popup ... peut-être votre problème est là. –