2012-05-29 9 views
1

J'ai un ModalPopupExtender qui étend un panneau et dans le panneau, il y a une fonction que je veux exécuter qui est exécutée avec un bouton dans le panneau et après qu'il s'exécute, il fermera le panneau.les contrôles dans ModalPopupExtender ne tirent pas

Cependant, lorsque btnProcess cliquez ne se déclenche pas du tout .. btnProcess_Click débogage montre que la fonction n'est pas exécutée du tout

Je suis désemparés pourquoi il n'est pas de tir.

  <asp:Panel ID="Panel1" runat="server" Height="600px" Width="800px" CssClass="ModalWindow"> 

       <asp:Button ID="btnProcess" runat="server" Text="Ok" onclick="btnProcess_Click"/> 

      </asp:Panel> 
      <ajaxToolkit:RoundedCornersExtender ID="Panel1_RoundedCornersExtender" runat="server" 
       Enabled="True" TargetControlID="Panel1" Radius="10" BorderColor="Black"> 
      </ajaxToolkit:RoundedCornersExtender> 
      <ajaxToolkit:ModalPopupExtender ID="Panel1_ModalPopupExtender" runat="server" DynamicServicePath="" 
       BackgroundCssClass="modalBackground" Enabled="True" PopupControlID="Panel1" TargetControlID="dummy" > 
      </ajaxToolkit:ModalPopupExtender> 

c'est le code qu'il est censé exécuter.

protected void btnProcess_Click(object sender, EventArgs e) 
{ 
    //process .. bla bla bla 
    Panel1_ModalPopupExtender.hide(); 
} 

Répondre

0

J'ai eu le même problème et je l'ai résolu par ajouter cette ligne à votre code derrière:

btnProcess.OnClientClick = String.Format("fnClickDoPostBack('{0}','{1}')", btnOk.UniqueID, ""); 

et dans votre balisage:

<script type="text/javascript"> 
      function fnClickDoPostBack(sender, e) { 
       __doPostBack(sender, e); 
      } 
     </script> 
Questions connexes