2010-03-25 7 views

Répondre

8

il y a une propriété dans l'extender pour fermer la popup "CancelControlID" donner l'identifiant du bouton et le popup se fermera, si vous voulez fermer popup du côté serveur du code derrière alors il y a la propriété extendeur hide(), dans le bouton code derrière le corps écrire l'ID de popup et entrer "." après que vous obtenez toutes les propriétés de pop-up dans les biens que vous obtenez cacher property.use il espère que vous obtiendrez la solution

exemple

private void btnSubmit_Click(object sender, EventArgs e) 
    { 
     modelpopupextender.hide(); 

    } 
4

Répondre à cette question pourrait ne pas être utile à la personne qui a posté mais cela pourrait être utile aux autres.

Les opérations suivantes doivent être effectuées pour fermer la fenêtre contextuelle modale du côté serveur. Au lieu de donner l'ID de bouton de fermeture à "CancelControlID" du modalpopupextender, créez un champ masqué masqué et donnez cet identifiant à "CancelControlID" du modalpopupextender.

par exemple

<pre> 
<asp:HiddenField ID="hidForModel" runat="server" />; 
/*Are you sure you want to know the answer? */ 
    <asp:Button ID="btnYes" runat="server" Text="Yes!" onclick="btnYes_Click" />; 
    <br />; 
    <asp:Panel ID="pnlModal" runat="server" CssClass="modalPopup" Style="display: none;"> 
     <asp:Panel ID="pnlControls" runat="server" CssClass="insideModalPopup></asp:Panel> 
     <br /> 
     <asp:Button ID="btnClose" runat="server" Text="Close" onclick="btnClose_Click" /> 
    </asp:Panel> 
     <cc1:ModalPopupExtender TargetControlID="hidForModel" ID="pnlModal_ModalPopupExtender" 
     runat="server" DynamicServicePath="" Enabled="True" BackgroundCssClass="modalBackground" 
     PopupControlID="pnlModal" CancelControlID="hidForModel" DropShadow="true"> 
     </cc1:ModalPopupExtender> 
</pre> 

Ici, je l'ai donné à la fois TargetControlID et CancelControlID que hidForModel que je veux montrer ainsi que cacher la fenêtre modale du code-behind.

En code-behind

<pre> 

     protected void btnYes_Click(object sender, EventArgs e) 
     { 
      pnlModal_ModalPopupExtender.Show(); 

      TextBox txt = new TextBox(); 
      txt.Text = "aaa"; 
      pnlControls.Controls.Add(txt); 
     } 

     protected void btnClose_Click(object sender, EventArgs e) 
     { 
      pnlModal_ModalPopupExtender.Hide(); 
     } 
</pre> 

Ici, j'ai fait la fenêtre contextuelle modale vu et ajouté une zone de texte de code-behind sur un clic de bouton oui et caché le menu contextuel modal sur un clic de bouton Fermer.

2

Vous pouvez utiliser l'attribut CancelControlID pour fermer la boîte de dialogue contextuelle.

<asp:ModalPopupExtender ID="mpe_login" runat="server" 
TargetControlID="btn_login_popup" PopupControlID="panel_login" 
BackgroundCssClass="LoginBackground1" 
CancelControlID="btn_Cancel" /> 
+2

s'il vous plaît fixer votre empreinte – WebChemist

+0

OMG @WebChemist, ahh un cheveu sur la tête est hors de place! Choc horrorrrr! – Fandango68