[déplacé VB.NET -> ASP.NET] affichier une message box

cs_tortuedu74 Messages postés 99 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 27 mai 2009 - 20 mai 2009 à 16:25
cs_tortuedu74 Messages postés 99 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 27 mai 2009 - 27 mai 2009 à 17:04
Bonjour,

Est-ce que quelqu'un pourrait me dire comment on fait pour afficher une messagebox car il n'y a rien qui s'affiche.
Mon code est posé sur un serveur.

Voici mon code en partie:

If e.CommandName = "supprimer" Then
            Response.Write("You selected " & contact & ".
")
            xmlDoc.Load(fichier)

            'déclarations
            'nodes = xmlDoc.SelectNodes("/EC_TABLE")

            Dim nod As XmlElement
            nod = xmlDoc.SelectSingleNode("/EC_TABLE/TABLE[@TA_NUME='" & contact & "']")

            'recherche de l'élément
            'MsgBox(nod.Attributes.ItemOf(0).Value)

            Dim reponse As MsgBoxResult
            reponse = MessageBox.Show("voulez-vous supprimer l'index n°" & contact & "? ", " Confirmation ", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly, False)
            If reponse = MsgBoxResult.Yes Then
                nod.ParentNode.RemoveChild(nod)
            End If

Si quelqu'un a la solution, ça serait super.

Merci
A voir également:

15 réponses

titeoe Messages postés 433 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 4 décembre 2009 1
22 mai 2009 à 12:17
Bonjour,

Comment comptes tu afficher une messagebox (qui vient du windows.forms) en web ?

Si tu veux utiliser des boites de messages en web, il faut passer par javascript ou par des composants plus sophistiqués (cf AjaxControlToolkit : modal popup extender ou confirm button extender).
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
22 mai 2009 à 14:05
Pas mieux que au dessus..
Tu es obligé de passer par du Javascript ..

JQuery te permet de faire des controles assez sympa.. Cette library est utilisé de plus en plus et risque d'être intégré à Visual Studio ..
0
titeoe Messages postés 433 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 4 décembre 2009 1
22 mai 2009 à 17:56
Pour info Jquery est intégrée a visual studio (2010 beta 1) et sera supportée par ASP.Net 4.
0
cs_tortuedu74 Messages postés 99 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 27 mai 2009
23 mai 2009 à 11:05
ok, ben moi je travaille avec visual studio 2008.
C'est vrai que ça m'embête d'utiliser du javascript parce que je n'y connais rien.

Quelqu'un pourrait me donner un exemple du code javascript pour afficher une question yes/no, et l'appeler a partir de ma page vb?
au fait, elle renvoie quoi cette fonction javascript? true or false?

Merci beaucoup.
0

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

Posez votre question
cs_tortuedu74 Messages postés 99 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 27 mai 2009
26 mai 2009 à 13:58
rebonjour,

J'ai un sérieux problème, mon suppérieur ne veut pas entendre parler de javascript, et je n'ai pas le choix, il faut que j'arrive a afficher une messageBox... 

Je commence a saturer, dites moi que quelqu'un sait comment afficher une messageBox coté client, quand on code une page aspx et aspx.vb avec VisualStudio2008. 
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
26 mai 2009 à 14:04
Une messagebox est un évènement client, donc c'est obligatoirement en javascript ..

après ton javascript tu peux le générer coté vb..
Pour écrire un Javascript à partir de ton code behind, je te propose de lire ceci :
http://msdn.microsoft.com/fr-fr/library/btf44dc9(VS.80).aspx

Bon courage
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
26 mai 2009 à 14:07
Exemple tiré du MSDN :
http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.aspx

ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs)

' Define the name and type of the client scripts on the page.
Dim csname1 AsString = "PopupScript"
Dim csname2 AsString = "ButtonClickScript"
Dim cstype As Type = Me.GetType()

' Get a ClientScriptManager reference from the Page class.
Dim cs As ClientScriptManager = Page.ClientScript

' Check to see if the startup script is already registered.
If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then

Dim cstext1 AsString = "alert('Hello World');"
cs.RegisterStartupScript(cstype, csname1, cstext1, True)

EndIf

' Check to see if the client script is already registered.
If (Not cs.IsClientScriptBlockRegistered(cstype, csname2)) Then

Dim cstext2 AsNew StringBuilder()
cstext2.Append("<script type=""text/javascript""> function DoClick() {")
cstext2.Append("Form1.Message.value='Text from client script.'} </")
cstext2.Append("script>")
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False)

EndIf

EndSub
0
titeoe Messages postés 433 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 4 décembre 2009 1
27 mai 2009 à 09:27
Ton boss veut un message box veut une message box de confirmation mais ne veux pas de javascript ?
Donnes moi son numéro de téléphone que je lui explique un peux ce qu'est la programmation web :)

Plus sérieusement, tu peux lui expliquer que javascript est un des fondement même de ASP .Net et que dans la moindre page ASP.net il y a forcément du javascript (bah oui, la fameuse __doPostBack ).

Donc son argument est démonté, au revoir, merci d'avoir joué.
0
cs_tortuedu74 Messages postés 99 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 27 mai 2009
27 mai 2009 à 13:30
Oui je sais bien, mais je suis en stage de fin d'étude, alors je ne vais pas aller m'amuser à contrarier mon supérieur.
J'ai fais ça:



et là il l'a accepté.

Est-ce qu'il est possible de faire quelque chose de similaire mais pour un
placé dans un GridView sans utiliser de templatefield, car en fait j'ai besoin de récupérer l'index grâce à l'événement e passé en paramètre dans:

Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)

        Dim index As Integer

        If e.CommandName = "supprimer" Then

            index = Convert.ToInt32(e.CommandArgument)
[...]

Merci
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
27 mai 2009 à 15:05
Bah tu peux faire un truc dans le genre .. :

Sur l'évènement GridView_RowDataBound
Comme ca cela va ajouter l'évènement
        If Not e.Row.FindControl("btnDelete") Is Nothing Then
            CType(e.Row.FindControl("btnDelete"), ImageButton).Attributes("onclick") = "return confirm('Effacer cet enregistrement ?');"
        End If
0
cs_tortuedu74 Messages postés 99 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 27 mai 2009
27 mai 2009 à 16:24
oui mais ça ne marche pas parce que en fait, FindControl recherche un control par son ID, on dans ButtonField, il n'y a pas d'ID, mon gros souci il est là.

Je ne sais vraiment pas comment faire, mais merci quand même.
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
27 mai 2009 à 16:26
Bah à la génération du control attribue lui un ID et le tour est joué .. ?
0
cs_tortuedu74 Messages postés 99 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 27 mai 2009
27 mai 2009 à 16:34
Je ne peux pas, si je force les chose, voici le message d'erreur:

Message d'erreur de l'analyseur: Le type
'System.Web.UI.WebControls.ButtonField' ne possède pas de propriété publique
appelée 'ID'.
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
27 mai 2009 à 16:39
Alors tu peux créer un ItemTemplate ..:

                           
                               
                                   
                               
                           

Bon alors tu peux créer un bouton delete et lui attribuer la command .. comme ci-dessus .. ^^
Ensuite tu pourras lui passer l'évènement de confirmation pour la suppression
0
cs_tortuedu74 Messages postés 99 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 27 mai 2009
27 mai 2009 à 17:04
oui, c'est aussi j'ai essayé, c'est sympa, mais avec ça je ne peux plus récupérer l'évènement e qui est passé en parametre dans:

 Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)

        Dim index As Integer
        index = Convert.ToInt32(e.CommandArgument)
[...]

car e est vide....
0
Rejoignez-nous