3

基本的に3つのテキストボックスで構成されるユーザーコントロールを作成しました。ユーザーがハイパーリンクをクリックして、ユーザーコントロールの新しいインスタンスをPlaceHolderに追加できるようにしたい。これは、テキストボックスコントロールの1つに、ハイパーリンクをクリックするたびに変化する乱数を入力するときに機能しているようです。ただし、前のコントロールを上書きしています。

MyPage.aspxのコードは次のとおりです

protected void MyHyperlink_Click(object sender, EventArgs e)
{
     var uc = new MyUserControl();
     uc = (MyUserControl)LoadControl("~/path/to/my/usercontrol.ascx");
     placeHolderCtrl.Controls.Add(uc);
}

基本的に私が知る必要があるのは、毎回1つのコントロールが上書きされているように見えるので、コントロールに異なるインスタンスを相互に追加させる方法です。

ありがとう。

4

1 に答える 1

2

問題は、ポストバック後、以前に追加したコントロールがプレースホルダーに追加されないことです。動的に追加されたコントロールは、各ポストバックに追加する必要があります。カウンターを変数に格納し、ページの読み込み時に、このカウンターに応じてWebコントロールを再度追加することをお勧めします。

于 2009-09-08T21:31:26.283 に答える