Le problème est que j'aimerais exécuter un bout de code (une sub defini dans
le code Behind de mon popup) avant de fermer le Popup.
Comment faire ? Puis-je utilisez un LinkButton ? Dans ce cas ou dois-je
coller toute la partie onClick="Window.....";window.close()"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Franck Quintana
Bonjour,
Essayez ceci.
function MaFonction() { window.opener.document.location='operation_creation.aspx?n_ope=<%=(session("n_ope"))%>'; // Appel de votre fonction ici window.close(); }
function MaFonction() {
window.opener.document.location='operation_creation.aspx?n_ope=<%=(session("n_ope"))%>';
// Appel de votre fonction ici
window.close();
}
function MaFonction() { window.opener.document.location='operation_creation.aspx?n_ope=<%=(session("n_ope"))%>'; // Appel de votre fonction ici window.close(); }
Vous pouvez utiliser une balise <a href="... avec un attribut runat="server" et un identifiant, vous disposerez ainsi d'un contrôle serveur. Ce contrôle possède ensuite un attribut onclick="" dans lequel vous pouvez placer vos fonctions clients, et également un attribut onServerClick="" dans lequel vous placez le nom de la méthode serveur. Vous pouvez également gérer ce clic serveur directement dans votre code_behind en créant un handler pour votre l'évenement serverClick de votre contrôle.
Julien
Bonjour,
Vous pouvez utiliser une balise <a href="... avec un attribut
runat="server" et un identifiant, vous disposerez ainsi d'un contrôle
serveur. Ce contrôle possède ensuite un attribut onclick="" dans
lequel vous pouvez placer vos fonctions clients, et également un
attribut onServerClick="" dans lequel vous placez le nom de la méthode
serveur.
Vous pouvez également gérer ce clic serveur directement dans votre
code_behind en créant un handler pour votre l'évenement serverClick
de votre contrôle.
Vous pouvez utiliser une balise <a href="... avec un attribut runat="server" et un identifiant, vous disposerez ainsi d'un contrôle serveur. Ce contrôle possède ensuite un attribut onclick="" dans lequel vous pouvez placer vos fonctions clients, et également un attribut onServerClick="" dans lequel vous placez le nom de la méthode serveur. Vous pouvez également gérer ce clic serveur directement dans votre code_behind en créant un handler pour votre l'évenement serverClick de votre contrôle.
Julien
Fr
Merci à tous les deux... je vais explorer ces solutions
"" a écrit dans le message de news:
Bonjour,
Ce lien me permet de fermer mon popup et de regdirigé l'utilisateur vers la page appelante en l'actualisant.
Le problème est que j'aimerais exécuter un bout de code (une sub defini dans le code Behind de mon popup) avant de fermer le Popup. Comment faire ? Puis-je utilisez un LinkButton ? Dans ce cas ou dois-je coller toute la partie onClick="Window.....";window.close()"
Merci d'avance.
--
Merci à tous les deux... je vais explorer ces solutions
"Fr@ncky" <nobody@nobody.com> a écrit dans le message de news:
OSDn0ezIGHA.524@TK2MSFTNGP09.phx.gbl...
Bonjour,
Ce lien me permet de fermer mon popup et de regdirigé l'utilisateur vers
la page appelante en l'actualisant.
Le problème est que j'aimerais exécuter un bout de code (une sub defini
dans le code Behind de mon popup) avant de fermer le Popup.
Comment faire ? Puis-je utilisez un LinkButton ? Dans ce cas ou dois-je
coller toute la partie onClick="Window.....";window.close()"
Le problème est que j'aimerais exécuter un bout de code (une sub defini dans le code Behind de mon popup) avant de fermer le Popup. Comment faire ? Puis-je utilisez un LinkButton ? Dans ce cas ou dois-je coller toute la partie onClick="Window.....";window.close()"
Merci d'avance.
--
Fr
Voici ce que j'ai fait (voir ci dessous). Le pb est que j'ai l'impression que c'est d'abord le OnClientClick qui s'execute. Donc mon code n'est jamais exécuté
Avez-vous une idée ?
Merci
Extrait de mapage.aspx
<script> function f_fermer() { window.opener.document.location='operation_creation.aspx?n_ope=<%=(session("n_ope"))%>'; window.close(); } </script>
<body> .../.. <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="javascript:f_fermer();">Valider et Fermer</asp:LinkButton> .../.. </body>
Extrait de mapage.aspx.vb
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
' On actualise d'abord le panier Call actualiser_Click(sender, e)
Dim ope As operation ope = Session("obj_operation")
Dim fv As filtre_valeur For Each fv In ope.LISTE_R(1).GetFiltreParNomColonne("ET70").LISTE_FILTRE_VALEUR fv.InsertUpdateBD() Next
End Sub
"Julien" a écrit dans le message de news:
Bonjour,
Vous pouvez utiliser une balise <a href="... avec un attribut runat="server" et un identifiant, vous disposerez ainsi d'un contrôle serveur. Ce contrôle possède ensuite un attribut onclick="" dans lequel vous pouvez placer vos fonctions clients, et également un attribut onServerClick="" dans lequel vous placez le nom de la méthode serveur. Vous pouvez également gérer ce clic serveur directement dans votre code_behind en créant un handler pour votre l'évenement serverClick de votre contrôle.
Julien
Voici ce que j'ai fait (voir ci dessous).
Le pb est que j'ai l'impression que c'est d'abord le OnClientClick qui
s'execute. Donc mon code n'est jamais exécuté
Avez-vous une idée ?
Merci
Fr@ncky
Extrait de mapage.aspx
<script>
function f_fermer() {
window.opener.document.location='operation_creation.aspx?n_ope=<%=(session("n_ope"))%>';
window.close();
}
</script>
<body>
.../..
<asp:LinkButton ID="LinkButton1" runat="server"
OnClientClick="javascript:f_fermer();">Valider et Fermer</asp:LinkButton>
.../..
</body>
Extrait de mapage.aspx.vb
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles LinkButton1.Click
' On actualise d'abord le panier
Call actualiser_Click(sender, e)
Dim ope As operation
ope = Session("obj_operation")
Dim fv As filtre_valeur
For Each fv In
ope.LISTE_R(1).GetFiltreParNomColonne("ET70").LISTE_FILTRE_VALEUR
fv.InsertUpdateBD()
Next
End Sub
"Julien" <mitkip@gmail.com> a écrit dans le message de news:
1138608805.198709.140300@f14g2000cwb.googlegroups.com...
Bonjour,
Vous pouvez utiliser une balise <a href="... avec un attribut
runat="server" et un identifiant, vous disposerez ainsi d'un contrôle
serveur. Ce contrôle possède ensuite un attribut onclick="" dans
lequel vous pouvez placer vos fonctions clients, et également un
attribut onServerClick="" dans lequel vous placez le nom de la méthode
serveur.
Vous pouvez également gérer ce clic serveur directement dans votre
code_behind en créant un handler pour votre l'évenement serverClick
de votre contrôle.
Voici ce que j'ai fait (voir ci dessous). Le pb est que j'ai l'impression que c'est d'abord le OnClientClick qui s'execute. Donc mon code n'est jamais exécuté
Avez-vous une idée ?
Merci
Extrait de mapage.aspx
<script> function f_fermer() { window.opener.document.location='operation_creation.aspx?n_ope=<%=(session("n_ope"))%>'; window.close(); } </script>
<body> .../.. <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="javascript:f_fermer();">Valider et Fermer</asp:LinkButton> .../.. </body>
Extrait de mapage.aspx.vb
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
' On actualise d'abord le panier Call actualiser_Click(sender, e)
Dim ope As operation ope = Session("obj_operation")
Dim fv As filtre_valeur For Each fv In ope.LISTE_R(1).GetFiltreParNomColonne("ET70").LISTE_FILTRE_VALEUR fv.InsertUpdateBD() Next
End Sub
"Julien" a écrit dans le message de news:
Bonjour,
Vous pouvez utiliser une balise <a href="... avec un attribut runat="server" et un identifiant, vous disposerez ainsi d'un contrôle serveur. Ce contrôle possède ensuite un attribut onclick="" dans lequel vous pouvez placer vos fonctions clients, et également un attribut onServerClick="" dans lequel vous placez le nom de la méthode serveur. Vous pouvez également gérer ce clic serveur directement dans votre code_behind en créant un handler pour votre l'évenement serverClick de votre contrôle.
Julien
Julien
Je ne crois pas qu'il existe d'attribut OnClientClick pour le contrôle LinkButton. Cependant, il est normal dans le cas d'un évenement client et d'un serveur que la méthode client soit appelée avant le retour au serveur.
Dans l'exemple que je donnais, la balise <a id="monLien" href=".." onclick="maMethodeClient" onServerClick="maMethodeServeur" runat="server">, sera rendue côté client par une balise du type : <a href=".." onclick="maMethodeClient();__doPostBack()"> et donc l'évenement Click lancera d'abord la méthode maMethodeClient, puis l'appel à la méthode __doPostBack qui générera l'évenement Click côté serveur.
Dans le code behind, vous aurez ainsi :
Protected Sub monLien_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles monLien.ServerClick
' On actualise d'abord le panier Call actualiser_Click(sender, e)
Dim ope As operation ope = Session("obj_operation")
Dim fv As filtre_valeur For Each fv In ope.LISTE_R(1).GetFiltreParNomColonne("ET70").LISTE_FILTRE_VALEUR fv.InsertUpdateBD() Next
End Sub
Julien
Je ne crois pas qu'il existe d'attribut OnClientClick pour le contrôle
LinkButton. Cependant, il est normal dans le cas d'un évenement client
et d'un serveur que la méthode client soit appelée avant le retour au
serveur.
Dans l'exemple que je donnais, la balise <a id="monLien" href=".."
onclick="maMethodeClient" onServerClick="maMethodeServeur"
runat="server">, sera rendue côté client par une balise du type : <a
href=".." onclick="maMethodeClient();__doPostBack()"> et donc
l'évenement Click lancera d'abord la méthode maMethodeClient, puis
l'appel à la méthode __doPostBack qui générera l'évenement Click
côté serveur.
Dans le code behind, vous aurez ainsi :
Protected Sub monLien_ServerClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles monLien.ServerClick
' On actualise d'abord le panier
Call actualiser_Click(sender, e)
Dim ope As operation
ope = Session("obj_operation")
Dim fv As filtre_valeur
For Each fv In
ope.LISTE_R(1).GetFiltreParNomColonne("ET70").LISTE_FILTRE_VALEUR
fv.InsertUpdateBD()
Next
Je ne crois pas qu'il existe d'attribut OnClientClick pour le contrôle LinkButton. Cependant, il est normal dans le cas d'un évenement client et d'un serveur que la méthode client soit appelée avant le retour au serveur.
Dans l'exemple que je donnais, la balise <a id="monLien" href=".." onclick="maMethodeClient" onServerClick="maMethodeServeur" runat="server">, sera rendue côté client par une balise du type : <a href=".." onclick="maMethodeClient();__doPostBack()"> et donc l'évenement Click lancera d'abord la méthode maMethodeClient, puis l'appel à la méthode __doPostBack qui générera l'évenement Click côté serveur.
Dans le code behind, vous aurez ainsi :
Protected Sub monLien_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles monLien.ServerClick
' On actualise d'abord le panier Call actualiser_Click(sender, e)
Dim ope As operation ope = Session("obj_operation")
Dim fv As filtre_valeur For Each fv In ope.LISTE_R(1).GetFiltreParNomColonne("ET70").LISTE_FILTRE_VALEUR fv.InsertUpdateBD() Next
End Sub
Julien
Julien
Petite erreur dans mon exemple : si la méthode dans le code_behind possède dans sa signature la clause "Handles monLient.ServerClick", il n'est pas nécessaire de préciser le nom de la méthode appelée dans l'attribut OnServerClick qui ne sera pas renseigné dans ce cas là.
Réciproquement si l'attribut OnServerClick est renseigné avec le nom d'une méthode qui gère l'évenement, cette méthode dans le code behind doit porter ce nom (dans l'exemple que j'ai donné elle s'appelerai maMethodeServeur et nom pas monLien_ServerClick) et ne pas comporter dans sa signature la clause Handles.
Petite erreur dans mon exemple : si la méthode dans le code_behind
possède dans sa signature la clause "Handles monLient.ServerClick", il
n'est pas nécessaire de préciser le nom de la méthode appelée dans
l'attribut OnServerClick qui ne sera pas renseigné dans ce cas là.
Réciproquement si l'attribut OnServerClick est renseigné avec le nom
d'une méthode qui gère l'évenement, cette méthode dans le code
behind doit porter ce nom (dans l'exemple que j'ai donné elle
s'appelerai maMethodeServeur et nom pas monLien_ServerClick) et ne pas
comporter dans sa signature la clause Handles.
Petite erreur dans mon exemple : si la méthode dans le code_behind possède dans sa signature la clause "Handles monLient.ServerClick", il n'est pas nécessaire de préciser le nom de la méthode appelée dans l'attribut OnServerClick qui ne sera pas renseigné dans ce cas là.
Réciproquement si l'attribut OnServerClick est renseigné avec le nom d'une méthode qui gère l'évenement, cette méthode dans le code behind doit porter ce nom (dans l'exemple que j'ai donné elle s'appelerai maMethodeServeur et nom pas monLien_ServerClick) et ne pas comporter dans sa signature la clause Handles.