Evenements

Résolu
cs_dunkan Messages postés 8 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 12 décembre 2007 - 2 juin 2006 à 15:49
JulienV Messages postés 13 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 13 mars 2007 - 7 juil. 2006 à 14:05
Bonjour,
J'ai un problème de gestion d'evenement sur ma page, je m'explique :
Lorsque l'utilisateur selectionne une valeur dans une dropdown list, un postback se produit, ma page se refraichit ma à aucun moment le code d'evènement de ma dropdownlist n'est exécuté soit la méthode : maDropDownList_SelectedIndexChanged
Pouvez vous m'aider? je n'arrive pas à résoudre se problème.

Voici ce que j'ai fait :

Je génère des controles personalisé (ascx) dans une page
dans mon controle j'ai une dropdownlist :
//Dans mon controle.ascx

<asp:DropDownList
AutoPostBack="true"
ID="maDropDownList"
runat="server"
OnSelectedIndexChanged="maDropDownList_SelectedIndexChanged"
EnableViewState="true"
/>dans le code-behind de mon controle je remplis ma liste dans le page-load s'il ne s'agit pas d'un postback. :
maDropDownList.Items.Clear();
maDropDownList.Items.Add(

new
ListItem(
"-",
"-"));
maDropDownList.Items.Add(
new
ListItem(
"Afficher - Modifier",
"0"));
maDropDownList.Items.Add(
new
ListItem(
"Supprimer",
"1"));

et j'utilise la methode suivante pour gerer l'evenement :

protected
void  maDropDownList_SelectedIndexChanged(
object sender,
EventArgs e)
{

...............
}

//Dans ma page, je rajoute mon controle dynamiquement dans un container lorsque l'utilisateur clique sur un bouton.

Control c1;

c1 =
new
Control();
c1 = LoadControl"
MonControle.ascx");

MonPlaceHolder.Controls.Add(c1);

Merci d'avance

 Panpan

9 réponses

JulienV Messages postés 13 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 13 mars 2007
7 juil. 2006 à 11:46
Le DataSource est une liste de type Dictionary<
int,
ObjetMetier>.
ValueCollection fournie par un composant métier. Pour l'édition, effectivement, tout n'est pas encore mis en place, mais pour le tri et la pagination, je pensais que le GridView pouvait se débrouiller car lorsque le DataSource est un SqlDataSource, la seule chose que l'on précise est la requete.
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
2 juin 2006 à 16:11
Bonjour

cette question a été debatue plusieurs fois sur le forum, il s uffit de rajouter tes controles avant ton page_load c'est à dire lors du page_init :-)

<hr />Cyril - MVS - MCP
0
cs_dunkan Messages postés 8 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 12 décembre 2007
2 juin 2006 à 16:40
Bonjour,
tout d'abord merci pour ta réponse.

Cependant,
Je souhaite afficher les résultats d'une recherche dynamiquement .

J'ai un formulaire et je génère le résultat.

De plus, Il me faut récupérer les informations contenu dans ma masterpage qui n'est pas initialisée dans le page init......
Je ne peux donc pas générer mes controles dans le page init.....

Aurais tu une autre suggestion?

Oup's, Une autre question me viens lol  est il possible de gerer les postback des controles generer dynamiquement sans effectué le rechargement de la page principale?

Merci :o)

 Panpan
0
fcampagne Messages postés 195 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 13 juillet 2006 3
2 juin 2006 à 16:46
Tu génére tes controle méme vide dans ton page_init et ensuite tu les rempli ou tu les géres comme tu veux mais l'essentiel c'est qu'il soit généré dans le page_init.
J'ai eu le méme probléme que toi, j'ai passé de nombreuses heures dessus et jesusonline avait bien raison, c'est dans le page_init que tout se passe
Si tu ne comprends pas bien, essaye de trouver sur le web le schéma du cycle de vie d'une page asp et tu y verras plus clair
Courage!!
0

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

Posez votre question
cs_dunkan Messages postés 8 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 12 décembre 2007
2 juin 2006 à 16:56
Impossible je ne connais pas le nombre de controles qu'il va me falloir


ce n'est pas grave je vais tronquer ma dropdownlist contre des liens hyperlinks 


Merci quand même.



 Panpan
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
2 juin 2006 à 16:58
Pour le chargement partiel de ta page regarde atlas et l'updatepanel

<hr />Cyril - MVS - MCP
0
JulienV Messages postés 13 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 13 mars 2007
7 juil. 2006 à 11:12
Bonjour

J'ai un GridView dans ma page pour lequel la DataSource est défini dans le PageLoad, le binding se fait à ce moment là. Mon problème: une erreur si j'essaye de trier une colonne: "The GridView 'GridView2' fired event Sorting which wasn't handled.". Même souci avec toutes les autres actions qui normalement sont correctement gérées (pagination, édition, ...). L'affectation de la DataSource dans le Page_Init ne change à priori rien au problème...

Merci d'avance
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 juil. 2006 à 11:32
le DataSource permet l'édition, pagination etc... ?

<hr />Cyril - MVS - MCP
0
JulienV Messages postés 13 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 13 mars 2007
7 juil. 2006 à 14:05
Merci Cyril de t'être intéressé à mon problème.

Je viens de tomber sur un article qui me permet de faire marcher la pagination. Je pense qu'il me faut faire quelques adaptation pour le tri mais la conclusion de tout ceci est qu'il faut intercepter les évenements, faire soit même l'action voulue et refaire le binding ce dont je n'étais pas convaincu au début (c'est tellement mieux quand ça marche tout seul...).
0
Rejoignez-nous