前のページで与えられた回答に基づいて、フィールドの組み合わせで約10の異なるバリエーションを持つことができるフォームがあります(ほとんどは同じですが、いくつかの変更があります)。私は、10の別々のページを作成するのではなく、動的にすることにしました。最終的には、これによりデータベースからフォームセットアップがプルされますが、今のところ、動的部分を機能させることを試みています。次のコードはちょっと動作しますが、奇妙な結果になります。
private void AddTestControls()
{
var newbox = new TextBox();
newbox.ID = "FirstBox";
newbox.Text = "This is dynamic";
newbox.CssClass = "stepHeader";
DynamicDiv1.Controls.Add(newbox);
var newlit = new Literal();
newlit.ID = "FirstLit";
newlit.Text = ".<br/>.";
DynamicDiv1.Controls.Add(newlit);
newbox.ID = "SecondBox";
newbox.Text = "This is also dynamic";
newbox.CssClass = "step";
DynamicDiv1.Controls.Add(newbox);
}
手順を踏んですべてのプロパティが正しく設定されていますが、ページが最終的にレンダリングされると、SecondBox
コントロールのみが表示されます。の痕跡はありませんFirstBox
。(たとえば)それSecondBox
自体のオブジェクトになるように変更すると、両方が表示されますが、最終的にデータベースからフォームを作成することを考えていたため、事態が複雑になる可能性があります。newebox2
Divのコントロールのコレクションにテキストボックスオブジェクトを追加するために、テキストボックスオブジェクトを再作成する必要がある理由がわかりません。私はこれについてすべて間違っているのですか、それともどこかで一歩を逃しているだけですか?