1

サーバー側のテーブル コントロールがあります。行数と列数が事前にわからないため、ページのForm_Loadイベント ハンドラーでこのテーブルの内容を作成します。

それはうまくいきます。しかし、私は同じテーブルにテキスト ボックスを入力しています。送信ボタンがクリックされた場合に、それらのテキスト ボックスを読み取れるようにする必要があります。

現状では、ポストバック時にテーブルの内容がクリアされているようです。

テーブルに動的にテキストボックスを作成し、ページがポストバックされたときにそれらのテキストボックスの値を読み取る最良の方法は何ですか?

4

1 に答える 1

1

ポストバック時に値を保持する場合は、Page_Initイベントでテーブル コントロール階層を再作成する必要があります。これは通常、テーブル コントロールをデータベースからのデータ構造に再バインドする必要があることを意味します。

コントロール階層が配置されると、ASP.NET はViewState. このデータは、実際には、以前にサーバーからテキスト ボックスに設定されたデータである可能性があります。この手順により、これらの値がコントロールで保持されるようになります。

次のステップでは、ASP.NET が POST データを処理します。ここでは基本的に、クライアント (ブラウザー) からの入力でテーブルのテキスト ボックスを更新します。ViewState から設定された値は (ほとんどの場合) 上書きされます。

これはすべて の前Page_Loadに行われるため、この段階でクライアントのテキストボックスの値にアクセスできるはずです。

ASP.NET Page Life Cycle、特にこの画像を確認してください。

于 2013-10-28T22:14:16.627 に答える