2009-12-04 8 views
0

J'ai une page assez complexe contenant une case à cocher:Asp.Net - Débogage pourquoi CheckBox a vérifié = true après une publication

// In the .aspx 
<asp:CheckBox id="MyCheckBox" runat="server" text="Testing" /> 

// In the .aspx.cs 
protected System.Web.UI.WebControls.CheckBox MyCheckBox; 

Ce que je vois est que, après une publication sur la page, la case à cocher en quelque sorte se termine avec sa propriété Checked définie sur true au moment où j'atteins l'événement Page_Load, et je ne peux pas comprendre pourquoi - à aucun moment je ne mets la valeur de la case à cocher ou de modifier la case de quelque façon, il n'y a pas contrôles de répéteur, sur cette page et le CheckBox n'est certainement pas vérifié lorsque je soumets le formulaire.

Bien que la page elle-même soit assez complexe, l'interaction avec la CheckBox elle-même est complètement triviale - j'ai déjà passé beaucoup de temps à essayer de comprendre comment la valeur Checked de cette case est true, sans succès - quels débogages/diagnostics sont là pour comprendre pourquoi cette case a été modifiée?

MISE À JOUR: J'ai maintenant commencé à utiliser un contrôle HtmlInputCheckBox:

// In the .aspx 
<input type="checkbox" id="TelephonyEnabledCheckBox" runat="server" /> 

// In the .aspx.cs 
protected System.Web.UI.HtmlControls.HtmlInputCheckBox TelephonyEnabledCheckBox 

La même chose arrive encore - au cours OnInit() Vérifié est faux, mais le temps que je reçois à Page_Load() vérifié est vrai. La case est définitivement décochée lors de la publication, et Request.Form["TelephonyEnabledCheckBox"] est "0" (indiquant qu'elle n'est pas cochée).

Que se passe-t-il? En ce moment je suis inquiet que je devrais avoir recours à employer les valeurs de poteau directement (il serait cependant agréable de comprendre ce qui se passe)

+0

Existe-t-il un code Javascript qui active l'état vérifié des cases à cocher? – adrianos

+0

Pour référence future, cela aurait dû être une question régulière, pas un wiki communautaire. –

+0

Je n'ai aucune idée de comment cela est devenu wiki communautaire - ce n'était certainement pas mon intention. – Justin

Répondre

1

Mon conseil serait de construire une page simple avec seulement la case à cocher et alors vois comment ça se comporte. De cette façon, vous pouvez être absolument sûr que le problème n'est pas causé par des interactions étranges avec d'autres choses sur la page.

+0

Déjà fait cela: comme prévu, cela ne se produit pas sur une page vide. Le problème est certainement causé par des interactions étranges, mais je ne vois pas quoi. – Justin

Questions connexes