MsgBox : pas d'alternative

Résolu
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009 - 28 juil. 2008 à 12:39
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009 - 30 juil. 2008 à 14:27
Bonjour, alors j'explique l'utilité de ma page. Ma page contient une DDL avec la liste des noms, un bouton SUPPRIMER permettant de supprimer un enregistrement. Je souhaiterai que lorsque le contact est supprimé, un message d'alerte de type MsgBox s'affiche avec le message "contact supprimé". Voici mon code de départ :


Imports System



Imports



System.Data


Imports



System.Data.SqlClient


Partial






Class
gestion_delete


Inherits
System.Web.UI.Page


Protected



Sub
Button1_Click(

ByVal
sender

As



Object
,

ByVal
e

As
System.EventArgs)

Handles
Button1.Click


Dim
conn

As



New
SqlConnection(

"Data Source=halsrvsql;Initial Catalog=ContactsSQL;Integrated Security=True"
)


Dim
cmd_delete

As



New
SqlCommand()cmd_delete =


New
SqlCommand(

"DELETE FROM annuaire WHERE Num_auto like ('"
& DropDownList1.SelectedValue &

"')"
)conn.Open()

cmd_delete.Connection = conn

cmd_delete.ExecuteNonQuery()

conn.Close()

MsgBox(


"Contact supprimé"
, MsgBoxStyle.Information,

"Contact supprimé"
)Response.Redirect(


"~/gestion/delete.aspx"
)

'Actualiser la page pour recharger la dropdownlist






End



SubEnd





Class

Donc ici, coté client, la MsgBox provoque une erreur mais côté serveur le contact a bien été supprimé. J'ai essayé de divers facons avec du javascript mais je n'arrive jamais a afficher l'alerte...

Merci de m'aider

27 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
28 juil. 2008 à 13:38
Hello,
Dans OnClientClick sur ton Button, si tu fais "javascript:alert('coucou')", ça ne marche pas?

<hr />
-My Blog-
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 juil. 2008 à 12:53
thème topic : déplacé de VB.NET vers ASP.NET
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 14:05
Oui merci celà fonctionne dans OnClientClick mais comment peut-on gèrer les conditions avec un OnClientClick car dans une de mes pages, j'ai différent message à afficher selon des conditions.

J'ai essayé de l'inclure directement dans le code pour pouvoir gérer mes conditions avec :


Button1.OnClientClick = "javascript:alert('Contact supprimé');"

Mais ca ne marche plus...
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
28 juil. 2008 à 14:17
Je ne sais plus par coeur, peut-être myButton.Attributes.Add(....) ?

<hr />
-My Blog-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 14:21
Pas sûr que tu ais vraiment compri.
Dans le code, sans passer par la fenêtre des propriétés, comment s'écrit la syntaxe de Button1.OnClientClick pour afficher une alert en javascript svp ?

Merci
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
28 juil. 2008 à 15:05
Comme ceci:

this

.Button1.OnClientClick =


"javascript:alert('toto')"

;
Mais ça doit être fait assez tot dans le cycle de vie de la page.
Page_PreRender par exemple...

<hr />
-My Blog-
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
28 juil. 2008 à 15:08
Si tu dois être dans le form load, alors il faut justement ajouter l'attribut:

Button1.Attributes.Add(
"onClick",
"javascript:alert('toto')");

ok?

<hr />
-My Blog-
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 15:52
Grr j'commence à me mettre en rogne j'y arrive pas !!!!!!!!!
En plus je comprend pas en quoi consiste ta solution.

J'ai de nouveau trouver une solution mais elle ne peut pas marcher lorsqu'on utilise des conditions. La voici :



<
script



type
="text/javascript">








function
Alert(){

javascript:alert(


"Contact supprimé"
);}


</
script
>

<asp:Button
ID="Button1"
runat="server"
Text="Supprimer"
Width="120px"
OnClientClick="Alert()"
/>

Seulement ici lors du clique sur le bouton, la fonction Alert se déclenche mais que faire si j'ai plusieurs possibilité d'alerte ?
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 juil. 2008 à 16:01
Bonjour,

Je pense que ce BrunoCheyrouessaie de faire est que si il y a une erreur coté serveur.
Il veut que cette erreur soit mise dans un alert()

Je ne sais plus trop comment mettre en oeuvre ce genre de controle.

Dans des appli asp3 :
On pouvais ecrire dans le flux avant le page un response.write("alert("votre client XYZ n''existe pas dans la base de données"))
Mais cela n'est pas trop propre

Il est peut etre possible de mettre le message dans le form load au retour du postback

Sinon  la methode la plus propre est je pense d'utiliser des panels d'ajaxtoolkit par exemple.
Ou autre?

Msgbox est un controle windows forms au passage.

Bon courage.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 juil. 2008 à 16:03
Comment est formé ta condition?

Elle est en dotnet ou javascript?
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 16:12
J'ai encore effectué un autre test :

• Page ASPX :



<
script



type
="text/javascript">








function
Alert()
{
javascript:alert(

"Le contact a bien ‚t‚ supprim‚ de la base"
);
}


function
Alert2()
{
javascript:alert(

"2"
);
}


</
script
>

• Page VB (simplement pour effectuer un test que je trouve plutôt fesable avec allo=1 puis ensuite allo=2)

allo = 1

If allo = 1
Then
Button1.OnClientClick =
"Alert()" ' Change la propriété OnClientClick du Button1 en Alert() et fais appel à la fonction Alert() lors du clique sur le bouton

Else : Button1.OnClientClick =
"Alert2()" ' Change la propriété OnClientClick du Button1 en Alert2() et fais appel à la fonction Alert2() lors du clique sur le bouton

End
If

Mais celà ne fonctionne toujours pas... apparament la propriété du boutton ne change pas... ou c'est autre chose mais là j'ai tellement essayer pleins de chose que je ne sais plus par quel chemin passer...
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 16:21
Dans ce dernier code, rien ne se passe, pas d'erreur mais pas d'alert...
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
28 juil. 2008 à 16:21
Probablement car tu n'as pas bien lu ma réponse ?!
OnClientClick doit être setté très tôt dans le cycle de vie de la page, Page_Load, c'est trop tard. Tu peux le faire dans le Page_PreRender, mais probablement qu'à ce moment tu te retrouves sans les données qui permettent de faire ton if.
Donc tu utilises la deuxième solutions que je t'ai donné, en utilisant les attributs... Avec ça, je pense que ça ira...

<hr />
-My Blog-
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 16:29
Tu veux dire dans Page_PreRender
Button1.Attributes.Add("onClientClick"
, "javascript:alert('Contact supprimé');") ...
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
28 juil. 2008 à 16:34
Moui mais en fait ce que tu veux, c'est modifier le contenu du script alors qu'on est dja entrain d'exécuter la méthode si j'ai bien compris maintenant? Dans ce cas, cette méthode risque de ne pas fonctionner....
Donc tu peux éven. jeter un oeil ici http://www.codeproject.com/KB/webforms/NingLiangSimpleControl.aspx sinon je sèche (asp.net c'est pas encore mon fort )

<hr />
-My Blog-
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 16:38
Bah résumé, ce que j'veux c'est si condition = vraie alors afficher alert("salut") sinon alert("a bientot")

Voilà. Je vais voir ton lien Bidou merci bcp
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 16:49
Ca doit bien être réalisable pourtant. Je suis tout de même abasourdi qu'un chose aussi simple puisse être si difficile en ASP.NET... :o

Si quelqu'un a d'autre avis à m'apporter je suis pour :)

Merci encore
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
28 juil. 2008 à 17:06
Si toto = 1 alors
      alert("Toto est vivant")
Sinon
      alert("Toto est mort)
Fin Si

Est-ce vraiment compliqué ? :o
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
29 juil. 2008 à 01:01
Bonjour,

je te conseille de bien revoir ce qu'est ASP.net.

ASP.net est une technologie qui permet de répondre à des requetes HTTP et c'est tout !

il y a donc 2 parties : le client et le serveur. ASP.net ne s'execute QUE coté serveur, tout le code behind & co s'execute coté serveur ! Donc tu ne peux pas intéragir directement avec le client. ASP.net ne fait que générer une réponse HTTP (généralement du HTML) que le client va lire.

A partir de ce document HTML, le client va l'interpreter et executer le code JavaScript qu'il contient.

Pour ajouter du code JavaScript à une réponse ASP.net il faut utiliser
 
Page.ClientScript.RegisterStartupScript("DeleteConfirm", typeof(MyPage), "alert('OK');", true);

automatiquement ASP.net va ajouter dans le rendu HTML le code JavaScript qui va bien.

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
BrunoCheyrou Messages postés 61 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 27 février 2009
30 juil. 2008 à 09:28
Merci pour ton aide jesusonline, je me rappele qu'à ma formation j'avais eu ces infos concernant ASP.NET. Cependant nous ne sommes pas aller plus loin étant donné que la formation ne portait que sur l'ASP.NET et VB.NET.

J'ai fais pas mal de recherches afin de pouvoir executer du javascript dans mes pages ASP.NET et plusieurs fois celà parle de RegisterStartupScript mais je ne pige pas complètement sa syntaxe et son utilité.
RegisterStartupScript(type, key, script) ???

Voici mon code à nouveau :


Imports System

Imports System.Data

Imports System.Data.SqlClient

Partial
Class gestion_delete

Inherits System.Web.UI.Page



Protected



Sub
Button1_Click(

ByVal
sender

As



Object
,

ByVal
e

As
System.EventArgs)

Handles
Button1.Click


Dim
conn

As



New
SqlConnection(

"Data Source=halsrvsql;Initial Catalog=ContactsSQL;Integrated Security=True"
)


Dim
cmd_delete

As



New
SqlCommand()



cmd_delete = New SqlCommand(
"DELETE FROM annuaire WHERE Num_auto like ('" & DropDownList1.SelectedValue &
"')")


conn.Open()
cmd_delete.Connection = conn
cmd_delete.ExecuteNonQuery()
' Ajouter un message type MsgBox("Contact supprimé")
conn.Close()

Response.Redirect("~/gestion/delete.aspx")

End
Sub

Quelqu'un pourrait-il me sortir de cette impasse svp. Merci encore !
0
Rejoignez-nous