sebicool
Messages postés32Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention12 décembre 2008
-
16 sept. 2008 à 11:28
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 2010
-
16 sept. 2008 à 16:17
Bonjour tout le monde,
j'ai un petit problème :
en fait, je voudrais faire appel coté serveur d'une fonction défini coté client... Je débute dans l'asp et je voudrais savoir si c'est possible, et si oui comment on fait.
Mon problème en fait est que je fais un test de présence d'un fichier coté serveur (avec FileSystemObject), et que en cas d'inexistence du fichier, j'affiche une popup d'erreur (un msgbox classique). Mais le msgbox ne peut pas être executé coté serveur, donc je voudrais faire appel à une fonction que je défini coté client pour afficher cette popup...
J'ai été clair?
N'hésitez pas à me dire si c'est pas clair...
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 16 sept. 2008 à 14:08
Bonjour,
Il vaut sans doute mieux faire une alert javascript et ajouter conditionnellement sur le body, côté serveur, un appel à cette fonction lors du onload.
Pour cela, tu peux rajouter sur ton body un id et runat="server", par exemple :
Lors du test côté serveur de l'existence de ton fichier, s'il n'existe pas, tu peux alors ajouter l'appel sur ton body (en vb) :
If ... le test que tu dois faire ... then
zozo.Attributes.Add("onload", "fichier()")
End If
(ou fichier() est ta fonction javascript, présente dans le head)
Tu dois aussi penser à supprimer l'attribut, par exemple sur le Page_Load, pour éviter que la fonction javascript ait lieu ensuite à chaque postback :
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
zozo.Attributes.Remove("onload")
End Sub
sebicool
Messages postés32Date d'inscriptionjeudi 7 décembre 2000StatutMembreDernière intervention12 décembre 2008 16 sept. 2008 à 14:30
Merci GGtry pour ta réponse...
Malheureusement, ca ne fonctionne pas...
Je me retrouve avec une erreur "L'appel d'une fonction Sub n'admet pas de parenthèses." au niveau du zozo.Attributes.Add("onload", "fichier()")
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 16 sept. 2008 à 16:17
"L'appel d'une fonction Sub etc." est un message d'erreur VBScript, non ?
En fait, je pensais plutôt à quelque chose comme cela (où il y a un textbox dans la page où l'on entre un nom de fichier pour tester son existence, lors de l'événement textchanged ou sur un autre événement, par exemple le onclick d'un button) :
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
zozo.Attributes.Remove("onload")
End Sub
Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(Server.MapPath(TextBox1.Text)) = False Then
zozo.Attributes.Add("onload", "fichier('" & TextBox1.Text & "')")
End If
End Sub
Avec une fonction javascript (pour la compatibilité) du genre :