Alert !!! [Résolu]

Signaler
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005
-
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005
-
Bonjour,
J'essaye de faire des messages d'avertissement à l'utilisateur en javascript -> alert("message")
j'aimerais savoir pourquoi il faut utiliser :

If (Not Me.IsStartupScriptRegistered("Startup")) Then


Me.RegisterStartupScript("Startup", scriptString)


End If

Alors qu'insérer une balise de code javascript dans le head ça marche aussi ???

D'autant plus que je n'arrive pas à faire marcher le code au dessus !

Merci !

<?xml:namespace prefix = asp />
<FORM runat="server"></FORM>

16 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
23
L'erreur se situe au niveau de ton </script>

il ne faut pas inserer d'espace entre le / et le script, j'ai deja eu
un problème semblable, j'avais moi aussi couper </script> mais je
comprend pas pourquoi t'as un espace entre ? c'est bien le code que tu
as que tu me montres ?



Dim strScript As String = "<script language=JavaScript>"
strScript &= "alert(""" & strMessage & """);"
strScript &= "<" & "/script>"

J'ai
pas encore essayé sur .net 2 mais je pense pas qu'il y ait des
problèmes, par contre il y a peut etre d'autres solutions en .net 2
mais je ne les connait pas encore



<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

G rien di ça marche pas help !
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
23
On se sert de me.registerStartupScript pour pouvoir ecrire du
javascript via le code behind, et cette technique ne permet pas
malheureusement d'ecrire dans le head, mais juste derriere le
<form>



Normalement ce que tu as écrit devrait marcher c'est quoi le contenu de scriptstring

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

En fait je ne travail toujours pas en code in line, pour l'instant j'arrive à faire ce que veux sans utiliser cette technique.
De toutes façon il faudra que je m'y mette mais ma question n'est pas la.

Je voudrais te demander un grand service, en tout les cas pour moi même si je ne pense pas que soit énorme, enfin c'est si tu as le temps parceque la je trouve pas, à chaque fois mon code plante pour des µ%£¤##ies !

Donc est ce que tu pourrais me dire comment en cliquant sur un bouton server,

Je peux envoyer une messageBox Javascript à l'utilisateur ???

Si tu peux franchement c cool !
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
23
il y a ca dans les sources mais bon revoici en mode rapide :p



sub button_click(blablabl)



dim scriptString as string = "<script language=""javascript""
type=""text/javascript"">alert(""message"");</script>" If (Not Me.IsStartupScriptRegistered("Startup")) Then


Me.RegisterStartupScript("Startup", scriptString)


End If



end sub








<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
517
Date d'inscription
samedi 3 février 2001
Statut
Modérateur
Dernière intervention
24 octobre 2006
1
Oula si c ça .Net ça donne pas envi ... c'est vrai quoi dire qu'il suffit de faire onclick="alert('message');"


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
23
mdr



C'est vrai que la ma facon de faire est un peu plus complexe, mais elle permet de rajouter un script suivant une condition.



Par exemple, on a un textbox, et un button, sur le click du bouton, on
veut afficher un messagebox suivant une valeur contenu de la bdd.



en .net tu vas faire a peu pres pareil, juste rajouter un if dans
l'evenement du boutton, donc le code sera le meme à peu de choses prés.




Alors qu'en asp, tu fais comment ? tu mélanges ton code html avec ton code vbs



Pour info, on peut faire plus simple, pour un simple messagebox, si celui ci n'est pas conditionnelle



LeLinkButton.attributes.add("onclick","alert(""message"")")



Cette méthode écrira directement le code javascript lors de la premiere
requete, donc pas besoin de postback, mais si on veut faire du
javascript un peu plus complexe, afficher un message resultant d'une
action spécifique etc... .net c'est beaucoup mieux qu'asp











<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

Ok ça marche !

J'avais le même code, mais ya un truc qui buggais :

dans la chaine au niveau de -> "");</script>"

Il fallait que je mette un espace -> "");</ script>"

Truc a la con .net
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

J'ai rien di ça marche toujours pas !!!!!!!!!!!!!!!!!
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

Il m'insère bien la balise de script mais ne fait pas de lien avec le bouton,
C grave doctor ?
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
23
ce que je t'ai montré, c'est juste la facon que l'on a d'inserer du script javascript coté code-behind



Si tu veux faire une alert sur un boutton, dans le page_load, tu n'as qu'a mettre



button1.attributes("onclick","alert(""message"");") par contre il faut pas que ton button soit coté serveur mais coté client.

car sinon
l'evenement onclick sera interpreté coté serveur, et va supprimer ton
alert.



si tu veux malgré tout garder un boutton coté serveur, fais ce que j'ai dit plus haut



dans le button1_click tu rajoutes l'ecriture de ton script




dim scriptString as string = "<script language=""javascript""
type=""text/javascript"">alert(""message"");</script>" If (Not Me.IsStartupScriptRegistered("Startup")) Then


Me.RegisterStartupScript("Startup", scriptString)


End If

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

Ce que je fais, c'est qu'à l'insertion dans ma base, je fais un try-catch et en fonction du numéro de l'erreur, j'affiche un message dans un label, mais c pas le top parceque pour gérer l'affichage ...

donc je voudrais dans mon try-catch insérer s'il y a une erreur une message box disant BIP("Erreur truc") !

Or je me suis dis qu'avec un bouton c'est le meme system !

Mais rien qu'avec un bouton c'est le bordel

Donc le code que tu m'as filé normalement quand tu click sur le bouton ya une message box qu'apparait et qui dit "message" <OK>

Il me mais une erreur sur les cotes je pense :
BC30648: String constants must end with a double quote.

G copié collé ton code !! alors je capte pas trop !

sinon je travail tjrs avec webmatrix donc pas de code behind !
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
23
Tu travaillles en VB ou C# ?

fais voir ton code ?

normalement ce que tu veux faire, il suffirait de faire un truc du genre



try

'le code suspect

catch ex as exception



If (Not Me.IsStartupScriptRegistered("Startup")) Then


Me.RegisterStartupScript("Startup",
"<script language=""javascript""
type=""text/javascript"">alert(""" & ex.message & """);</script>"
)


End If

end try


Aprés faut faire gaffe que le mesage ne comporte pas de double quote, sinon ca risque de planter niveau js

<hr>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

<?xml:namespace prefix = asp />
<FORM runat="server">je travail en vb, le code c'est le même, pour le try-catch et un bouton mais chez moi ça marche toujours pas!

J'en ai marre !

Ce serait pas parceque je bosse avec le framework 2 ?</FORM></EDITITEMTEMPLATE>
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

Private Sub BtnSave_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BtnSave.Click

'Generates the message:
Dim strMessage As String
If (Me.CheckBox1.Checked()) Then
strMessage = "The data was saved."
Else
strMessage = "The data was NOT saved."
End If

'finishes server processing, returns to client.
Dim strScript As String = "<script language=JavaScript>"
strScript += "alert(""" & strMessage & """);"
strScript += "</script>"

If (Not Page.IsStartupScriptRegistered("clientScript")) Then
Page.RegisterStartupScript("clientScript", strScript)
End If
End Sub





Avec ce code voila le source html que j'obtient :



<html>
<head>
</head>

<form method="post" action="alert2.aspx" id="ctl00">



<script language=JavaScript>alert("OK BABY");</ script></form>

</html>


Essaye mais je comprend pas, partout on me dis de faire comme ça et ça ne marche pas !
Messages postés
63
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
25 mai 2005

C trop cool ! ça marche enfin !
après 24 heure de labeur et tout ça à cause d'un malheureux "&"

Je suis vers d'avoir passé autant de temps la dessus !

Mais encore une fois "Jesus is walking on the water" !!

Yeah yeah !!