Problème liste deroulante evenement

Signaler
Messages postés
6
Date d'inscription
mardi 24 avril 2007
Statut
Membre
Dernière intervention
9 juillet 2007
-
Messages postés
6
Date d'inscription
mardi 24 avril 2007
Statut
Membre
Dernière intervention
9 juillet 2007
-
Bonjour à tous!


Tout d'abord, avant que j'oublie : je travaille sous Visual Studio .NET 2003, ASP.NET avec C# et j'utilise la version 1.1 du framework .NET
Voici ma situation :
J'ai une page aspx qui contient des controles utilisateurs (ascx) qui represente
differentes parties de la page (un menu à gauche, une en-tete et un principal).


Je souhaite dans un de ces controles utilisateur (le menu) que, lorsqu'on choisi
dans une liste deroulante une date, une liste de liens vers des fichiers
de cette date soit affiché en dessous (par exemple dans un tableau, mais ce n'est pas
important)
Je souhaite ne raffraichir que le controle utilisateur (contenu dans un div)
ou si possible seulement la liste des liens. J'ai donc besoin de pouvoir
intervenir lorsque l'élement de la liste déroulante selectionné change.
Ainsi pour pouvoir manipuler par programmation les controles j'ai utilisé
le Web Control DropDownList. Or celui-ci ne dispose pas d'evenements tels
que OnChange qui est present pour les listes deroulantes html classiques.
Je pensait pourvoir utiliser l'evenement OnSelectionChanged or celui-ci
n'est, malgré son nom, appellé que lorsque l'élement selectionné à été changé
mais entre deux publications serveur. Je vous rappele que je ne souhaite pas
recharger toute la page mais seulement la partie nécessaire et donc que
l'utilisation classique avec autopostback à vrai n'est à priori pas
possible. J'aimerai savoir comment il me serai possible de pouvoir intervenir
(et ainsi, par exemple appeller des méthodes telles que Ajax.Updater issue du mini
framework Javascript prototype.js) lorsque l'utilisateur change l'element selectionné
dans la liste deorulante.


peut etre qu'a force je me suis embrouillé tout seul et que quelque chose de
tout bete est possible de faire pour regler mon problème (j'espere!). En tout cas merci
de m'avoir lu et si quelqu'un a un idée je suis preneur.

3 réponses

Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

bonjour,
sauf erreur de ma part, Ajax ne fonctionne pas avec le net.framework 1
Sinon, ça irait.
@+Gilles
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
Bonjour,

Microsoft ASP.net Ajax Extension n'est pas dispo pour .net 1.1, le controle UpdatePanel t'aurais surement aidé ! Les evenements que tu as sur le controle DropDownList sont des evenements serveur, ils nécessitent donc un postback. il faut faire du JavaScript en utilisant la librairie prototype par exemple, mais pour cela il faudra faire du developpement JavaScript spécifique et ce n'est pas forcément lié à ASP.net 

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
6
Date d'inscription
mardi 24 avril 2007
Statut
Membre
Dernière intervention
9 juillet 2007

Bonjour,
après lectures de centaines de pages de documentation et de page de forum et autres bidouille tentées sous notre cher visual studio la seule solution pour intercepter l'evenement que je souhaitait (le changement de l'element selectionne dans la liste) est d'ajouter un attribut à la dropdownlist de la facon suivante : 
   MaListeDeroulante.Attributes.Add("onchange", "javascript:metsAJour()");
metsAJour() etant une méthode javascript dans lequel j'utilise Ajax.Updater pour actualiser un conteneur (celui de la liste des liens) en spécifiant une url d'un fichier générant le code à inclure. Or plutot que d'avoir recourt à un script asp (limitant ainsi l'interet de developper en asp.net ) je souhaiterai savoir s'il est possible d'appeler une méthode du code behind style private void ConstruireListeLiens() à partir de la méthode javascript metsAJour() ou bien directement à partir de l'ajout de l'attribut ajouté au web control Attributes.Add("onchange", "ConstruireListeLiens()");
Voila donc je trouve bizare qu'alors que les classes de base possèdent des evenements OnChange alors que le composant récent de Microsoft DropDownList n'en propose pas... Il m'a cependant semblé voir un evenement OnTextChanged faire son apparition dans la version 2 du framework .NET alors si ca peut donner des pistes à des personnes ayant la v2 ayant le meme genre de problème que moi tant mieux.