私は問題を簡単に説明します。正確には私がやろうとしていることではありませんが、アイデアは同じです。ここに問題があります:
私は、 。私はクエリ文字列からいくつかのIDを取得し、そのidを持つボタンを作成し、イベントをクリックしてイベントハンドラを動的に追加し、placeholder.Iにボタンを追加するid-sのリストをセッションに保存し、ページロードメソッドでこれらのボタンを再作成し、 ID-Sのplaceholder.OneはCurrentIdあり、それはまたsession.Buttonsに保存されているクリックハンドラ私は他の異なるボタンのテキストプロパティを設定するボタンを作成するときに、ページの読み込みで、このページのロード前にボタンクリックイベントハンドラ
Button b=(Button)sender;
Session["CurrentId"]=Convert.ToInt32(b.ID);
ような何かを行います場合はid==Convert.ToInt32(Session["CurrentId"])
id-sのリストがsession.Butから取得されている問題は、ページの負荷の後にクリックイベントハンドラが呼び出され、ページの負荷でボタンを作成すると、セッションのCurrentIdはclickイベントハンドラによってチャネルされていません。あなたはこの状況に対する解決策を提案しますか?
ありがとう、PreRenderは解決策です。 – unknown
@unknown:ASP .Netページのライフサイクルを正しく理解していることを確認してください。これらのタイプの問題については非常に重要です。 "シルバー"の頭字語を使用して、ステージを簡単に覚えてください。あなたはそれについてここで読むことができます:http://www.codeproject.com/KB/aspnet/ASPNET_Page_Lifecycle.aspx –