2016-11-30 2 views
1

後、私は次のコードでaspxページを持っている消えます。動的に追加コントロールがポストバック

表には2つの行が構成されています

行NUM 0はTextBox

行numの1は、さらに私は、ユーザーがボタンをクリックし、ボタンsaveを、持っているTextBox

が含まセルで含まれている細胞であります私はすべてのテーブルの行を移動し、Text PropにデータをFileに書き込む必要があります。

問題は、Button Saveイベントのpage_load raiseとすべてのtext boxコントロールが存在しないため、編集したデータをファイルに書き込むことができないという問題があります。

私はこの問題について同様の記事を読んだが、解決策を得ることができなかった。

ありがとうございました!

+1

htmlがクライアントに送信されるときにすべてのオブジェクトが破棄されるため、すべてのポストバックで 'Page_Init'に動的に追加されたすべてのコントロールを作成(再作成)する必要があります。しかし、たとえそれを再作成しても、前と同じIDを割り当ててもユーザー入力を維持することができます。 –

+0

質問をページのロードコードで更新できますか? – Damith

+0

@TimSchmelter同じIDでtextBoxを作成した後、あなたのソリューションを試してみます。どのようにしてasp .NETページに再度追加しますか? 問題はすべてコントロールがnull、つまりダイナミックなテキストボックスを含むパネルです – maz

答えて

0

まず第一に、あなたがasp.netページのWebサイクルについて学ぶ必要がありますに:https://msdn.microsoft.com/en-us/library/ms178472.aspx

と私は@TimSchmelterコメントにあなたのための完璧なソリューションを持っていることを言うだろう:

「あなたは(再べき - )すべてのオブジェクトがhtmlがクライアントに送信されたときに廃棄されるため、すべてのポストバックでPage_Initに動的に追加されたすべてのコントロールを作成しますが、それらを再作成しても、 "

これは、page_init関数を使用する必要があることを意味します(page_loadと似ています.b自動作成されていないので、マニュアルで書く必要があります)

私もこれをやっています。私はTimのソリューションがうまくいくと誓っています。

page_init()関数に達していることを確認してください。

関連する問題