Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : updatepanel UserControl et triggers [ Web 2.0 / Ajax ] (SuperBouly)

mardi 8 avril 2008 à 10:19:32 | updatepanel UserControl et triggers

SuperBouly

Membre Club

bonjour,
J'ai un usercontrol MonUserControl.ascx que j'ai doté d'évènements.
J'ai d'autre part un GridView qui doit être rafraîchi lors d'un de ces évènements:

EventChangeDeCategorie(ByVal Categorie AsInteger)

Tout va bien jusqu'à ce que je mette mon GridView dans un updatePanel
Naturellement, je le règle avec les options :
<asp:UpdatePanelID="UpdatePanel2"runat="server"UpdateMode="Conditional">
<asp:AsyncPostBackTriggerControlID="MonUserControl1"EventName="changedecategorie"/>
<ContentTemplate>
<MONGRIDVIEW />
</ ContentTemplate>

Et ça ne marche pas car mon évènement n'a pas la signature  Standard : (sender as object, e as eventArgs)
(l'erreur est:
The 'changedecategorie' event on associated control 'MonUserControl1' for the trigger in UpdatePanel 'UpdatePanel2' does not match the standard event handler signature.)

Y a-t-il un moyen de contourner ce problème ?  ...sans toucher à mon UserControl, ce serait le rève ! car la signature de mon évènement ne  me semble pas modifiable.
Merci de vos lumières
SuperBouly

mardi 8 avril 2008 à 15:01:52 | Re : updatepanel UserControl et triggers

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

Non, ce n'est pas possible, mais par contre c'est très simple de respecter les conventions, et puis ce serait tellement plus joli ...
Par contre je ne vois pas en quoi ca interesse l'UpdatePanel de savoir la signature, si tu dois fare un asyncpostback pour tous les events de ton UserControl, tu peux supprimer l'attribut EventName, sinon tu vas être contraint de coder en respectant les conventions ;-) ;-)


Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant

mardi 8 avril 2008 à 15:59:49 | Re : updatepanel UserControl et triggers

SuperBouly

Membre Club

merci de ta réponse
justement, j'aurais aimé ne pas faire d'asyncpostback pour tous les évènements, mais je vois qu'il faut rebidouiller mon code sur l'userControl. Pour l'instant, c'est vrai qu'il me suffit de ne rien mettre sur l'eventName pour que ça fonctionne

SuperBouly

mardi 8 avril 2008 à 16:20:41 | Re : updatepanel UserControl et triggers

jesusonline

Membre Club Administrateur CodeS-SourceS
>> Rebidouiller mon code sur l'usercontrol : y'a rien à écrire !
Il suffit de créer un EventArgs qui a comme propriété les arguments de ton event, et ensuite tu déclare ton event avec

public event EventHandler<MyEventArgs> MonEvent ... ca se fait vraiment en TRES peu de temps et au moins le code sera plus joli :-)


Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant

mardi 8 avril 2008 à 17:10:34 | Re : updatepanel UserControl et triggers

SuperBouly

Membre Club
bon, je ne suis pas du tout à l'aise avec ça, d'autant + que je ne connais très mal le C#, je traduis donc en vb:, en m'aidant de la doc MSDN
situation de départ :
Event ChangeDeCategorie (ByValCategorieAs Integer)

situation finale :
PublicEventChangeDeCategorieAs EventHandler(OfMyEventArgs)
et dans ma sub, au lieu de
RaiseEvent ChangeDeCategorie(maCategorie)' maCategorie est l'integer donné dans la sub
je mets
RaiseEvent ChangeDeCategorie(Me, New MyEventArgs(macategorie))
avec une classe au dessous
PublicClass
MyEventArgs
Inherits
EventArgs

PublicSubNew(ByVal Categorie AsInteger
)
EndSub


PublicPropertyCategorie () As
Integer
Get
Return
???? 'QUE DOIS-je mettre ici ?
End
Get

Set
(ByVal value AsInteger
)
???? = value
End
Set
End
Property
EndClass


Là, il me manque des billes, je ne dois pas être très loin du compte, mais je ne me suis jamais servi de ça, c'est pas du tout clair encore
SuperBouly

mardi 8 avril 2008 à 18:18:17 | Re : updatepanel UserControl et triggers

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
ll te suffit de faire une classe comme "d'habitude"

public class EventNameEventArgs

public sub new(categoryID as integer)
   me._categoryID = categoryID
end sub

private _categoryID as integer
public property CategoryID as integer
  get
    return me._categoryID
  end
  set (value as integer)
     me._categoryID = value
  end
end property

end class

normalement ca doit être ca (beurk c'est vraiment pas beau VB)

Au niveau de la convetion, le nom de ton event n'est pas bon, ca devrait plutot être CategoryChanged et l'eventArgs devrait être CategoryChangedEventArgs

et enfin tu devrais faire le raiseevent dans une méthode OnCategoryChanged (qui ne fais que ca :p)



Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant

mercredi 9 avril 2008 à 08:29:49 | Re : updatepanel UserControl et triggers

SuperBouly

Membre Club

Ca marche impec! J'ai pu mettre un trigger comme je voulais sur cet event
Vraiment merci de ton aide, j'ai découvert quelquechose...(en fait on lit des tas de trucs et on les oublie)

En première approximation, j'ai remplacé tout bonnement et au bon endroit
RaiseEvent  ChangeDeCategorie(NumeroDeCategorie)
par:
RaiseEvent  ChangeDeCategorie (Me, New  EventNameEventArgs (NumeroDeCategorie))

Je vais bouger le nom des variables selon ton conseil. C'est en effet + rigoureux et clair.
mais je ne vois pas pourquoi tu me conseilles de le mettre dans une sub qui ne fait que ça.
bonsoir,
SuperBouly
PS Pardonne moi pour le vb pas beau, je ne connais que ça!


SuperBouly



SuperBouly

mercredi 9 avril 2008 à 09:34:05 | Re : updatepanel UserControl et triggers

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Par convention, si un jour tu peux déclencher ton event de plusieurs endroits différents, tu n'auras qu'a appeller ton event OnPouet();


Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant



Cette discussion est classé dans : usercontrol, signature, évènements, updatepanel, triggers


Répondre à ce message

Sujets en rapport avec ce message

UPDATEPANEL + USERCONTROL [ par necnec ] Bonjour à tous,Voila j'ai une page principale en ajax enabled + un user control que j'ai ajouté en fait j'aurais que mon usercontrole controle le text probleme avec un trigger [ par hudon77 ] Bonjour à tous. J'aimerais que quelqu'un m'éclaire un peut sur les triggers dans les updatepanel.J'utilise les masterpages. Ma masterpage contient un Problème updatepanel dans userControl [ par bizibiz17 ] Bonjour,J'ai un problème avec un update panel qui ne "marche pas".En gros j'ai un usercontrol dans lequel il y a un autocompleter qui fonctionne corre UpdatePanel et EnableEventValidation [ par SuperBouly ] bonjour, Une fois de plus le problème de EnableEventValidation.Ma page contient, entre autres, un gridView avec une colonne "Sélectionner" et un formv [C#] Problème DropDownList et UpdatePanel [ par The Red Man ] Bonjour !J'ai de nouveau un problème !voilà mon code :                     &nbsp  <asp:Butt Passer une donnée d'une ligne de GridView à un UserControl [ par obitskater ] Bonjour à tous,Voilà, dans ma page principal j'ai une GridView avec pour chaque ligne un HoverMenu Ajax.Net, dans lequel il y a des liens permettant l usercontrol [ par paokao ] Salut , dans mon site asp ,j'ai deux usercontrol , le premier contient un label qui se remplit d'un texte de la bd , le 2eme contient des informations Ajax UpdatePanel - récupération des évéenemnts [ par SpanK ] Bonjour,J'utilise une application ASP.NET avec AJAX et notament le UpdatePanel.J'ai un timer qui permet la mise à jour de l'updatepanel toutes les 10 Les events de mon UserControl ne marche pas [ par obitskater ] Bonjour à tous, Voilà je vous expose mon problème: J'ai ma page principale dans laquelle lors d'un clique sur un LinkButton, j'ouvre une ModalPopup da Nouvelle page dans un updatepanel [ par Patate1978 ] Bonjour. Je suis relativement nouveau dans le monde de AJAX. Par contre, j'ai réussi à assimiler le principe de synchronisation partielle. Mon problèm


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,20 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.