【发布时间】:2012-02-24 01:02:48
【问题描述】:
我有一个 ASP.NET 页面,我在其中动态创建了 1000 多个文本框。页面的初始创建和显示工作正常,但是当我进行回发时,我发现控件状态(文本)仅恢复了前 997 个文本框。回发期间不会恢复所有其他文本框的 Text 属性。
我没有看到任何错误 - 我只是看到文本框是空白的。
有没有其他人遇到过这个问题。在具有大量控件或大视图状态的页面上,我需要做些什么特别的事情吗?
这里有一些代码来演示。
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();
}
}
【问题讨论】:
-
第998个文本框发生了什么,你能放个断点吗?
-
我无法重现问题。我确实必须将它添加到 web.config 文件中才能显示一个包含 1000 多个控件的页面,尽管
-
完美解决了它。知道它是这样的,但我只是指望找不到设置。谢谢大家。
标签: asp.net