我知道這個問題已經(jīng)被問過數(shù)千次了,之前我一直在努力,但是由于某種原因,我無法完成我想完成的工作...我有一個動態(tài)添加的LinkButton,單擊該按鈕可以動態(tài)添加控件(在此示例中為文本框)添加到同一面板。目的是要不斷增加與單擊LinkButton時一樣多的控件(即,我單擊一次,一個框,然后另一個單擊將給我2個框,另一個單擊將添加第3個框)。在下面的代碼中,我使用序列化的當前日期和時間為每個文本框控件創(chuàng)建唯一的ID。當我執(zhí)行代碼時,單擊“添加篩選器”將生成一個新的文本框,但是再次單擊將創(chuàng)建一個新的文本框,并在此之前處理該文本框。相反,我想保留先前的文本框以及其中提交的所有數(shù)據(jù)。感謝您的幫助。在aspx中:<asp:Panel ID="pnlFilter" runat="server"></asp:Panel>在aspx.cs中:protected void Page_Init(object sender, EventArgs e){ LinkButton lb = new LinkButton(); lb.ID = "lbAddFilter"; pnlFilter.Controls.Add(lb); lb.Text = "Add Filter"; lb.Click += new EventHandler(lbAddFilter_Click);}void lbAddFilter_Click(object sender, EventArgs e){ TextBox tb = new TextBox(); tb.ID = "tb" + DateTime.Now.ToBinary().ToString(); pnlFilter.Controls.Add(tb);}
3 回答

拉丁的傳說
TA貢獻1789條經(jīng)驗 獲得超8個贊
對于其他試圖做這樣的事情的人:不要。相反,請考慮信息流并了解有一種更好的方法。無需動態(tài)創(chuàng)建輸入控件。它們可以是靜態(tài)的,并且在填寫并提交后,該信息必須到達某個地方(例如,數(shù)據(jù)庫,緩存,會話)。一旦到達那里,就回發(fā),遍歷您選擇的存儲中的所有項目并為其創(chuàng)建顯示。
那就是我所做的,它使生活變得更加輕松。希望它可以幫助某人。

江戶川亂折騰
TA貢獻1851條經(jīng)驗 獲得超5個贊
我認為您需要在每次回發(fā)中重新創(chuàng)建每個控件。
我知道Repeater控件存儲了有關其子級的足夠信息,以便在數(shù)據(jù)綁定時重新創(chuàng)建它們……您可以使用它來節(jié)省一些工作。
- 3 回答
- 0 關注
- 570 瀏覽
添加回答
舉報
0/150
提交
取消