OnCheckedChanged cas, pas de tir dans le GridView à tous
J'ai un GridView avec un asp Case à cocher dans un TemplateField. Le TemplateField est définie comme suit:
<asp:TemplateField HeaderText="HeaderName">
<ItemTemplate>
<asp:CheckBox ID="checkBoxId" runat="server" OnCheckedChanged="MyCheckChangedMethod" AutoPostBack="true"/>
</ItemTemplate>
</asp:TemplateField>
Quand je lance mon projet web avec un point d'arrêt à l'intérieur de MyCheckChangedMethod et cliquez sur la case à cocher ne se passe rien. Le point d'arrêt n'est pas atteint. Mon débogueur Visual Studio est en cours d'exécution.
En outre, j'ai AutoEventWireup = True dans ma page de définition donc je n'ai pas manuellement le crochet de l'événement. Je n'ai jamais eu de problème de cette façon auparavant. J'ai un bouton sur la même mise en page de la même façon avec un cliquez sur l'événement et le point d'arrêt est frappé d'amende.
Des idées?
OriginalL'auteur Adam | 2009-08-17
Vous devez vous connecter pour publier un commentaire.
La publication de l'événement pour le contrôle de case à cocher ne se déclenche pas correctement parce que c'est dans un GridView qui mangles l'ID de la commande.
Si vous avez besoin de la Case à cocher pour refléter les données, vous pouvez utiliser le CheckBoxField objet et lier de cette façon.
Si vous avez besoin d'effectuer une action pour la ligne, vous pouvez regarder la ButtonField objet à l'aide de la CommandName propriété et le RowCommand événement.
Il existe des moyens de accès les cases dans le contrôle GridView côté serveur.
OriginalL'auteur CAbbott
Vous devez ajouter
AutoPostback = True
dansasp:CheckBox
tag.OriginalL'auteur royalnight102
Le problème se produit lorsque
DataBind
est appelée avant que le contrôle de l'événement se déclenche.Si vous appelez
DataBind
dansPage_Load
le mettre dansif (!isPostBack) {}
et appelDataBind
dans le gestionnaire d'événement lui-même.OriginalL'auteur Eduard Grinberg
essayer:
Assurez-vous que la page aspx a CodeFile="YOUR_FILE.aspx.cs" au sommet.
Également à ce que votre fonction MyCheckChangedMethod est défini comme
Fonction doit avoir object sender, EventArgs e.
Assurez-vous également que le web.config a debug à true (pensez déjà fait).
Était juste une suggestion. J'ai essayé le code de mon auto (sans l'affichage de la grille) qui a fonctionné. La fonction de contenir du code ou est-il vide?
OriginalL'auteur Ganesh R.