Evenement onmouseover appel à une fonction vb.net

cs_Augustus Messages postés 13 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 8 décembre 2008 - 25 sept. 2008 à 16:49
cs_Augustus Messages postés 13 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 8 décembre 2008 - 29 sept. 2008 à 08:52
Bonjour,

Je suis débutant en asp.net.

J'aimerai faire appel à une fonction vb.net à partir d'un évènement onmouseover sur une image ( nommé : Image1) . J'aimerai savoir si il est possible de le faire sans passer par du javascript.(uniquement en vb.net)

J'ai éssayer de nombreuses choses du genre :

Partial

Class _Default

Inherits System.Web.UI.Page

Protected
Sub Page_Load(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles
Me.LoadImage1.Attributes.Add(

"OnMouseOver",
"Toto")

End
Sub

Private
Sub toto()

End
SubEnd

Class

Ou encore :

Partial

Class _Default

Inherits System.Web.UI.Page

Protected
Sub Page_Load(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles
Me.LoadImage1.Attributes.Add(

"OnMouseOver",
"Toto()")

End
Sub

Private
Sub toto()

End
SubEnd

Class

Rien ne fonctionne. J'ai besoin de votre aide. Merci d'avance

[mailto:M@le M@le]

8 réponses

ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
25 sept. 2008 à 17:55
Bonjour,

L'ajout d'attributs avec attributes.add ajoute de l'html.
Ce que ton onmouseover="toto()" va appeler doit donc être une fonction javascript.
Tu n'as pas la possibilité (du moins directement) d'appeler du vb.net avec un onmouseover, puisque onmouseover est un événement côté "client", tandis que ton code vb.net sera exécuté côté serveur et nécessite donc un postback.
Que cherches-tu à faire au juste ?

GGtry

GGtry
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
25 sept. 2008 à 19:56
Salut,

Dans ton cas c'est de l'ajax qu'il faut faire.
De plus sur le onmouseover (tu risque d'avoir des problemes il me semble de l'evenement est envoyé une multitude de fois) pour suivre la souris.

Bon courage
0
cs_Augustus Messages postés 13 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 8 décembre 2008
26 sept. 2008 à 09:11
Salut ggtry et nhervagault,

Merci pour vos réponses.
Je fais actuellement des essais en asp pour m'y mettre car je viens du monde winform en vb.net.
J'essai de controler le coté client sans passer forcément par des postback.
 Et si on peux le faire, j'aimerai savoir comment faire pour ne pas passer par une multitude de language pour codé le coté client( HTML + ASP + JAVASCRIPT + VB.NET : tout ca dans un meme code !!! je trouve que ca ne fais pas très structuré)
Mon bref essai en haut était juste pour voir si on pouvait le faire directement en vb.net sans passer par d'autres languages.
J'ai besoin de vos lumières.

[mailto:M@le M@le]
0
ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
26 sept. 2008 à 10:36
Bonjour,

Lorsque tu fais une page asp, celle-ci, pour être lue par un navigateur, est traduite en html et en javascript. Autrement dit, ton code asp ou vb n'apparaît pas dans la page transmise au client : pour voir ce que cela donne, tu peux créer une page asp simple et regarder la source dans le navigateur.
Le "mélange" html, asp, vb (ou c#) est inévitable. En schématisant un peu, l'html et le javascript que tu écris toi-même constituent la partie statique, conservée telle quelle côté client, la partie asp et vb celle qui est interprétée côté serveur pour produire dynamiquement de l'html et du javascript.
Lorsque la page est lue dans le navigateur, le seul moyen d'intervenir sur des éléments sans provoquer de postback est d'utiliser un langage de script client comme le javascript (qui est utilisé parce que reconnu par tous les navigateurs). Mais c'est évidemment assez limité.
Tout faire en vb ?
La structure de base d'une page asp est celle d'une page html : avec un head et un body. Pour présenter les divers éléments de ta page, tu es bien obligé de le faire à l'aide de l'html.
Ensuite, même si tu voulais créer tous tes contrôles asp en pur dynamique dans ton code vb (ce qui n'est vraiment pas à recommander), tu serais bien obligé de poser tout de même des contrôles asp dans ta page, par exemple literal pour écrire de l'html ou placeholder pour réserver un emplacement dans la page pour un contrôle asp... et pour qu'il y ait des interactions uniquement côté client, tu seras bien obligé d'écrire du javascript.
Ce que tu cherches à faire n'est donc pas possible : et si même tu cherchais à faire le plus possible en vb pour des raisons esthétiques, disons, cela te compliquerait énormément la vie.
Tu ne peux pas non plus éviter le postback sans rendre la partie asp inutile : mais comme le remarque nhervagault, tu peux t'intéresser à l'ajax pour ne rafraîchir que certaines parties.
Si tu cherches un partage plus clair des choses, rien ne t'empêche de mettre ton vb dans un fichier de code-behind.
Le mieux, pour commencer, est de bien faire la part entre la partie "client" et la partie "serveur".

GGtry
0

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

Posez votre question
cs_Augustus Messages postés 13 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 8 décembre 2008
26 sept. 2008 à 10:46
Merci pour tes informations.

Je vais essayer de me mettre au javascript.
 Autrement, j'ai entendu parlé du silverlight. Il me semble qu'il permet de gérer le coté client. As tu des infos à ce sujet ?

Encore merci pour tes lumières

[mailto:M@le M@le]
0
ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
26 sept. 2008 à 22:40
Salut,

Pour le silverlight, je passe mon tour : je n'y connais strictement rien.
Pour le javascript : c'est un langage très simple. Le seul ennui vient du fait que tous les navigateurs ne reconnaissent pas nécessairement les mêmes choses et qu'il faut parfois varier le code selon que l'on est sous IE ou sous Netscape, notamment.
Mais cela dit, ça dépend surtout de ce que tu veux faire car, dans le cas général, tu n'as pas nécessairement besoin d'écrire du javascript.
Il faut voir surtout ce que tu veux faire avec de l'asp pur : son grand avantage reste la gestion facilitée des données issues des bases de données.
Si tu veux faire des applications graphiques ou des trucs comme cela, il vaut mieux en effet t'intéresser à des solutions plus spécifiques.

GGtry
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
27 sept. 2008 à 19:57
Pour Silverligth,

C'est un plugin comme flash qui est executé dans le navigateur.
Il interprete du code donet pour la version 2(sous ensemble de dotnet en 4mo) et permet de communiquer avec un server par l'intermédiaire de WCF, RSS, REST...
Il y a une communication silverligth<-->javascript

Donc avec silverligth tu peux appeler du code dotnet du server mais par l'intermédiaire de web service.

Pour l'interface graphique elle est écrite en un WPF ligth, ce qui permet de faire des animations et applications assez surprenantes.

regardes le site silverligth.net

Bon courage
0
cs_Augustus Messages postés 13 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 8 décembre 2008
29 sept. 2008 à 08:52
Merci à vous deux.

[mailto:M@le M@le]
0
Rejoignez-nous