2010-02-20 8 views
0

J'ajoute dynamiquement des contrôles dans ma page Web. Je les ajoute dans la méthode onload. tout fonctionne bien ..ajouter dynamiquement des contrôles dans asp.net page

Mais je suis un peu confus sur la façon dont cela fonctionne .. J'ai lu dans tant d'articles que tous les contrôles obtiennent leurs valeurs de viewstate avant l'événement de chargement. Ensuite, comment mes contrôles ajoutés dynamiquement obtiennent leurs valeurs lorsque je les ajoute dans l'événement OnLoad, c'est-à-dire après l'événement LoadPostData.

Répondre

0

Dans un GET demande, les contrôles sont créés à Page_Init. Étant donné que ces contrôles dynamiques ne font pas partie du balisage de page, vous devez recréer dans POST BACK. Assurez-vous que lors de la recréation, il doit avoir le même ID sinon vos événements/valeurs ne seront pas conservés.

0

Les contrôles ajoutés dynamiquement jouent un rattrapage dans le cycle de vie du contrôle. Même si vous ajoutez un contrôle après avoir manqué l'événement LoadViewState, cet événement se produira toujours pour le contrôle au moment où le contrôle est ajouté à la page. Je suggère que les pauvres âmes qui n'ont pas eu le privilège de lire cet article, font immédiatement:

http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx

Source: programmeur professionnel, je ne prétends pas être un expert, mais je J'ai lu des tonnes d'articles sur ViewState. :)

Questions connexes