2009-01-04 5 views
3

J'ai un Repeater avec un Button à l'intérieur du ItemTemplate. J'ai ajouté la propriété CommandName au bouton et au gestionnaire d'événements et d'événements enregistré pour l'événement ItemCommand sur le Repeater.Comment traiter les événements à partir des boutons dans les répéteurs? Et quelle est cette chose EnableEventValidation?

Mon problème est que lorsque je clique sur le bouton, j'obtiens un ArgumentException avec un message disant quelque chose à propos de EnableEventValidation étant réglé sur true.

(Soit dit en passant, est-il un moyen que je peux obtenir le message en anglais, au lieu d'une traduction moche?)

J'ai essayé la mise à false et le gestionnaire ItemCommand est pas appelé. Si je le mets à true j'obtiens l'erreur.

Le message indique également quelque chose sur l'utilisation de ClientScriptManager.RegisterForEventValidation si je fais confiance au client (ce que je fais). Le problème est que je ne peux pas donner un sens à la documentation de cette méthode.

+0

Une traduction portugaise moche? –

+0

Je suis Portugais et je ne le comprends pas. Le problème est que les termes comme la publication sont traduits et cela devient impossible à comprendre. Je peux poster si vous voulez ... –

Répondre

2

Lookout pour le problème de liaison souligné par Steve Robbins et vous pouvez également jeter un oeil à this article que j'ai trouvé très utile lorsque j'étais coincé dans une situation similaire.

+0

Merci. Cela résout. Bien que le code est en VB, mais j'ai réussi. –

+0

VB n'est pas mon langage de prédilection mais j'essaie de contourner ce problème. Content d'avoir été utile. – Perpetualcoder

2

La seule fois que j'ai vu cela, c'est quand je reliais le répéteur dans le Page_Load sur la publication, plutôt que d'envelopper la liaison dans un if (! Page.IsPostBack). Si vous faites cela alors le contrôle qui envoie le message est effectivement invalide, donc il échoue.

1

Le seul problème est Postback se passe avant ItemCommand cas de répéteur pourrait se produire .... à savoir pourquoi asp.net est de lancer une erreur de validation de l'événement

Si ur Reliure Répéteur intérieur chargement de la page Ecrire à l'intérieur Si (! PostBack) {...}

Questions connexes