簡體   English   中英

在運行時問題 ASP.Net 中添加控件

[英]Adding controls in runtime problem ASP.Net

我在頁面上放了一個鏈接,onclick 我寫了一些代碼來添加一些控制點擊后,

    DropDownList newDropdownlist = new DropDownList();
    panel.Controls.Add(newDropdownlist);
    CheckBox newChkbox = new CheckBox();
    panel.Controls.Add(newChkbox);
    TextBox txt = new TextBox();
    txt.ID = "txtPhoneValue";
    panel.Controls.Add(txt);

我的問題是,當我單擊此鏈接時,它會添加一次這些控件,但如果我再次單擊它不會添加更多,接縫它會刪除以前添加的控件並重新添加它們。

我想添加越來越多的每個鏈接點擊。

好的,這些添加的控件不會在回發之間的任何地方保留。 因此,您應該在每次頁面重新加載時添加它們。

考慮使用一些標志(例如存儲在 Session 中)來指示必須添加其他控件。

您的控件正在消失,因為它們沒有存儲在任何地方(頁面在回發時忘記了它們)。 請記住,在每次回發時,您的頁面都必須重新創建。

有很多關於使用動態創建的控件的好文章。 此外,要充分了解問題所在,您還需要熟悉頁面生命周期。

這里有兩篇對我很有幫助的文章:

您需要在回發時重新創建控件(具有相同的 ID! ),您可以在CreateChildControls方法中執行此操作。

值得查看ASP.NET 的 Page Life-Cycle以了解何時何地可以修改內容。 如果為時已晚,它不會被添加到 ViewState 等中,因此值得理解,尤其是在使用動態創建的控件時。

這個鏈接是如何構造的?

如果您的鏈接控件是 html 控件(客戶端控件),那么您所經歷的行為是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM