2012-02-24 76 views
2

我有一個ASP.NET頁面,我可以動態創建超過1000個文本框。該頁面的初始創建和顯示正常工作,但是當我做一個posback時,我發現控制狀態(Text)僅在第一個997文本框中被恢復。所有其他文本框的文本特性在回發期間不會恢復。ASP.Net在回發期間丟失文本框值,當您有大量文本框時

我沒有看到任何錯誤 - 我只是看到文本框是空白的。

有沒有其他人支持過這個問題。在具有大量控件或大視圖狀態的頁面上,我需要做些什麼特殊的事情?

下面是一些代碼來演示。

public partial class Test : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 

    void CreateTextBoxes(bool load) 
    { 
     for (int i = 0; i < 1200; i++) 
     { 
      TextBox txt = new TextBox(); 
      txt.ID = string.Format("{0}", i); 
      div.Controls.Add(txt); 
      if (load) 
       txt.Text = string.Format("Count {0}", i + 1); 
     } 
    } 

    protected override void CreateChildControls() 
    { 
     CreateTextBoxes(!this.IsPostBack); 
     base.CreateChildControls(); 
    } 
} 
+0

什麼發生在第998個文本框,你可以把一個斷點plz – Marc 2012-02-24 01:10:20

+0

我不能重新創建問題。我不得不將這添加到web.config文件中,以便顯示包含超過1000個控件的頁面,儘管** ** – jmaglio 2012-02-24 01:34:08

+0

完美的修復它。知道這是這樣的事情,但我只是沒有找到設置。感謝堆。 – 2012-02-24 01:40:26

回答