1

Je développe mon premier contrôle de serveur personnalisé qui affichera une liste de champs, avec des zones de texte. Lorsque la page contenant ce contrôle serveur personnalisé est renvoyée, les valeurs à l'intérieur de la zone de texte sont perdues car le répéteur est soit re-binded, ou le viewState ne conserve pas les valeurs.Boîte de texte à l'intérieur d'un répéteur dans un serveur personnalisé Le contrôle perd des valeurs

Comment puis-je obtenir le répéteur pour contenir les valeurs des zones de texte entre les publications?

À la votre!

+0

Assurez-vous que votre code est dans une instruction conditionnelle vérification de la Page.IsPostBack. Si ce n'est pas une publication, liez votre répéteur –

+0

J'ai mis "If Not Page.IsPostBack Then" dans le sous-menu "CreateChildControls". Mais cela signifie simplement que la publication ne répare pas le répéteur – Curt

Répondre

0

Il est probable que vous ne recréez pas votre contrôle personnalisé à la bonne étape du cycle de vie de la page. Viewstate est restauré juste après l'événement OnInit() du cycle de vie. Donc, si vous ajoutez le contrôle après cela, le contrôle n'est pas là pour que le Viewstate soit restauré.

Essayez de déplacer la création de votre contrôle dynamique vers l'événement OnInit() de la page.

0

Si vous remplissez dynamiquement votre répéteur? puis vous pouvez avoir un problème de création de synchronisation basé sur lorsque l'état d'affichage est chargé.

Essayez de placer toute votre création de contrôle dynamique dans l'événement Page_Init pour éviter le problème de création de synchronisation .

-à-dire au lieu d'utiliser l'événement Page_Load utiliser Page_Init événement pour lier les données dinamically dans votre contrôle.

protected void Page_Init(object sender, EventArgs e){ ..... } 

ce qui a trait, je l'espère, j'été utile

Questions connexes