2010-10-14 3 views
0

J'ai une Page, contenant un UpdatePanel et un Usercontrol qui charge un autre usercontrol, contenant une zone de texte.ASP.NET - UpdatePanel provoque l'effacement de la zone de texte dans UserControl

Il est Page-> UpdatePanel-> UserControl-> UserControl (B) -> Textbox

Le ValidationGroup pour le bouton et TextBox est le même. J'appelle .validate ("réponse") dans le codebehind, je préfère ne pas utiliser la validation JS. Si vous cliquez sur le bouton, la valeur dans la zone de texte est effacée et l'erreur s'affiche, mais uniquement lors du premier clic. Après cela, cela fonctionne très bien, mais ensuite un UserControl (B) différent avec la même configuration. La même chose se reproduit, au premier clic. Si je remplis à nouveau la valeur, il reste et je reçois une publication.

Ceci est bizarre et je ne peux pas penser à ce qui le causerait, si j'ajoute le bouton comme un postbacktrigger (c'est-à-dire: enlever le panneau de mise à jour), cela fonctionne normalement. J'ai essayé de définir CausesValidation sur le bouton sans effet et je n'ai plus d'idées.

Répondre

0

Cela a été réellement causé par l'ID de UseControl (B) qui change entre le premier et les suivants. L'ID doit rester le même que je pense pour le ViewState à remplir.

0

Etes-vous sûr de ne pas effacer la valeur de la zone de texte dans votre code quelque part?

Pouvez-vous mettre en place un code pour nous de jeter un coup d'œil?

+0

C'est difficile parce qu'il y a tellement de code. UserControl (B) est créé dynamiquement onpostback, et la première fois que sa valeur est nulle pour une raison quelconque. Je ne comprends pas pourquoi c'est seulement la première fois que c. – Echilon

Questions connexes