0

良い一日、

私は aspx ページ名 MakeRedemption.aspx を持っています。

この MakeRedemption.aspx 内に、SearchGift.ascx という名前の UserControl ページがあります。

SearchGift.ascx の中にはリピーターがいます。このリピーター内には、InfoForm.ascx という名前の別の UserControl ページがあります。

つまり、SearchGift.ascx には、UserControl ページ名 InfoForm.ascx が含まれています。

InfoForm.ascx には、ユーザー キーを値に入れるための textboxX があります。

しかし、これらの値を入力して SearchGift.ascx のボタンをクリックすると、InfoForm.ascx がポストバックされ、それらの値が消えてしまいます。したがって、初期にキー入力した値を取得できません。

また、ここに投稿する必要があるコードの部分もわかりません。ここでの私の文章が私の問題を明確に説明できることを願っています。

私の質問が明確でない場合は、親切にお知らせください。

よろしく。

4

1 に答える 1

0

以前、この記事を使用して問題を解決しました

http://www.codeproject.com/Articles/3684/Retaining-State-for-Dynamically-Created-Controls-i

これも試してください

http://www.codeproject.com/Articles/35360/ViewState-in-Dynamic-Control

私は過去に同じ問題を抱えていました。もう 1 つの方法は、動的に追加されたコントロールに ID を与え、ポストバックでも同じ ID を保持していることを確認することです (私の場合、セッション内のすべての情報を保持し、コントロールを再作成しました)。

ポストバックされたコントロールが以前と同じ ID を持つと、Microsoft はマジックを行い、コントロールにポストバック前の値を再入力しました。

于 2013-06-24T11:38:23.850 に答える