2011-08-27 5 views
1

Je veux faire apparaître un panneau quand un "bouton de création" est cliqué, j'utilise un panneau et j'ajoute une boîte de texte et des boutons à l'intérieur du panneau. Je suis capable de faire le panneau pop-up en le concevant dans la même page où le createbutton est présent. puis-je faire apparaître la fenêtre dans une page séparée et la faire apparaître lorsque je clique sur le bouton créerComment créer une fenêtre contextuelle en utilisant une nouvelle page comme source contextuelle?

Répondre

0

Gokul,

Oui, vous pouvez mettre le panneau dans une page séparée et faire apparaître lorsque vous cliquez sur le bouton Créer. Voici une autre (pas mon préféré, mais il ne dépend pas de quelque chose de plus en plus javascript standard):

  • Lorsque vous cliquez sur le « bouton Créer » ouvrir une nouvelle fenêtre de navigateur redimensionnée exactement correspondre à la taille du panneau. Cela peut être fait avec javascript facilement comme suit:

    < entrée onclick = "javascript: window.open ('page.aspx', 'title', 'status = 0, barre d'outils = 0, width = 350 , hauteur = 250 '); " type = valeur « bouton » = « Créer » />

  • Sur la page que vous surgissaient contenant le panneau (pagecontainingPanel.aspx - selon mon exemple), vous pouvez avoir le code pour fermer la fenêtre une fois vous effectuez une action. Par exemple, si vous avez un bouton qui est censé enregistrer des données à la base de données et retour à la page parent, vous pouvez faire quelque chose comme:

{

///Perform server side process. If successfully executed close this window. 
    protected void btnSubmit_Click(object sender, EventArgs e) 
    if(EverythingOK) 
     { 
      StringBuilder cstext2 = new StringBuilder(); 
    cstext2.Append("<script type=\"text/javascript\"> function CloseMe() {"); 
    cstext2.Append("window.close();} </"); 
    cstext2.Append("script>"); 
    cs.RegisterStartupScript(cstype, csname2, cstext2.ToString(), false); 
     } 

    } 
0

Bien sûr. Vous pouvez créer un iframe et définir la source en tant que panneau que vous créez.

Disons que vous avez deux pages html panel.html et main.html

Votre panel.html peut simplement être

<html> 
    <body style="background-color:red"> 
     Hi! 
    </body> 
</html> 

et votre main.html

<html> 
    <body style="background-color:yellow"> 
     <iframe src="panel.html" style="height:300px;width:300px;border:0px;display:none;" id="myPanel"></iframe> 
     <a href="#" onclick="document.getElementById('myPanel').style.display='block';return false">Show Panel</a> 
    </body> 
</html> 

Cela devrait montre une page jaune avec un lien hypertexte de "Show Panel". Lorsque vous cliquez sur Afficher le panneau, il affiche le iframe de votre panel.html.

Si vous utilisez ASP.NET MVC, vous pouvez le faire en créant une vue qui peut être appelée avec du code Ajax/JQuery. Si vous cherchez quelque chose dans cette approche, je peux poster du code pour ça.

Questions connexes