■No45229 (T_A~K_A さん) に返信
> だとすると動的に作成したBoundFieldは、残っている事が疑問です。
No45224 への返答になっていますがご容赦ください。
> 仮にそうであってもBoundFieldは消えません。残っています。
> TemplateFieldが消えてしまいます。
ポストバック発生時に動的に生成されたコントロールが消えてしまうと
仮定するならば同じように動的に生成した BoundField も消えるはずなので
仮定は間違っているという意味でしょうか。
この論理を保証するには TemplateField と BoundField は PostBack 時に同
じ挙動を示すという前提が必要になります。
ところが、この前提の部分が違う可能性があります。
BoundField と TemplateField はどちらも IStateManager インターフェース
を実装した DataControlField クラスを継承したものですが TemplateField
の ItemTemplate には ITemplate インターフェースを実装しただけのクラス
のインスタンスをセットしています。
つまり、BoundField は ViewState から復元されるけれども TemplateField
の ItemTemplate は復元されないため PostBack 時に消えてしまうという可能
性が考えられます。