まずは指摘しておきますが、これは簡単な質問ではありません。少なくとも、答えを見つけることは不可能に近い死んでいる。動的に追加されたコントロールとAJAX
UpdatePanelでは、私はパネルコントロールにいくつかのコントロールを動的に追加します。
このすべては、コントロールアシクロンから発生するボタンイベントで発生します。
以下のフィールドの下に、上記のコードに追加します。ボタンがあります。ボタンは、また、更新パネルに配置されます。このボタンは次のように呼び出されます:btn_editShowings
今、私はbtn_editShowings_Clickイベントハンドラに来ると、私の動的追加されたコントロールはもはや存在しません。私はまた、OnInitでそれらをキャッチしようとしましたが、どちらにも存在しません。
どのようにF ...ダイナミックに追加されたコントロールからデータを取得することはこれまで可能ですか? とにかくありますが、これを解決するために何か悪いことを気にしませんか?
UPDATE:私は今、私が読んだものからLoadViewState以前のように初期火災を動作するはず次の手順を実行しようとしてい
。
は私がボタンのイベント
protected void Button2_Click(object sender, EventArgs e)
{
for (int i = j; i < showno + 4; i++)
{
UserControl uc = (UserControl)Page.LoadControl("Controls/BookShowing.ascx");
uc.ID = "showing_" + i;
uc.Attributes.Add("runat", "Server");
uc.EnableViewState = true;
uc.Visible = true;
pnl_showings.Controls.Add(uc);
}
UpdatePanel1.Update();
}
でダイナミックないくつかのコントロールを追加し、私は私のinit関数で同じことを行っている: 保護されたオーバーライド・ボイドのOnInit(EventArgsの電子) { base.OnInit(E) ;
if (Session["ShowingsCount"] != null)
{
int noOfUCs = (int)Session["ShowingsCount"];
for (int i = 1; i < noOfUCs; i++)
{
UserControl uc = (UserControl)Page.LoadControl("Controls/BookShowing.ascx");
uc.ID = "showing_" + i;
uc.Attributes.Add("runat", "Server");
uc.EnableViewState = true;
uc.Visible = true;
pnl_showings.Controls.Add(uc);
}
UpdatePanel1.Update();
}
}
しかし、私はこのしようとすると:
FindControl("showing_1").Visible = false;
を私はnull参照の例外を取得します。
最高のお礼 リアルナップスターは、もう一度問題を抱えています。
LoadViewStateメソッドを入力することはありません。 そのイベントを起こすために何かを行う必要がありますか? –