2010-02-23 3 views
0

Le balisage de la page:ExtJS balisage show fenêtre déjà à la page - ASP.NET

<table style="display: none" id="myTable" runat="server"> 
    <tr> 
     <td>First Name</td> 
     <td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td>Last Name</td> 
     <td><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td> 
    </tr> 
</table> 

J'ai besoin de montrer une fenêtre modale et le contenu doit être la table invisible. Le script ExtJS pour la création d'une fenêtre comme le montre:

function showWindow() { 
    var win = new Ext.Window({ 
     title: "Ext Window Example", 
     autoScroll: true, 
     modal: true, 
     html: //Here I want to use the markup of myTable 
    }); 
    win.show(); 
} 

Répondre

0

Wrap la table dans une sorte de récipient (<div id='tableHolder' runat='server' style="display: none">...</div>), retirez le display: none; du style de la table, puis référence innerHTML de conteneur dans votre fonction:

function showWindow() { 
    var win = new Ext.Window({ 
     title: "Ext Window Example", 
     autoScroll: true, 
     modal: true, 
     html: Ext.get('<%=tableHolder.ClientID%>').innerHTML 
    }); 
    win.show(); 
} 
+0

Merci. Je vais essayer ça. Bien que nous parlions de fenêtres modales, il est recommandé d'inclure le balisage sur la page et de le rendre visible dans la fenêtre modale ou de faire une charge ajax sur la fenêtre modale et de retourner le balisage du côté serveur ? – DotnetDude

+0

Si le contenu de la fenêtre modale est statique et pas très grand (grand dépend de la situation), alors j'inclurais le balisage sur la page. Dans les autres situations, ajax peut être utilisé par l'utilisateur pour rendre un modal plus dynamique et accélère également le chargement de la page d'origine et le temps de rendu. – jball

Questions connexes