我了解在ASP.NET动态控制创造这片文字:动态控件创建
...当使用动态控件,您 必须记住,他们将存在 只有等到下一次回传。 ASP.NET 将不会重新创建动态添加的 控件。如果您需要多次重新创建一个 控件,则应在 Page.Load事件处理程序中执行控件创建。这有 允许您使用视图状态与您的动态 控制的额外好处。尽管视图状态 通常是Page.Load 事件之前,如果你创建的 处理程序Page.Load性事件的控制恢复, ASP.NET将适用于任何视图状态 信息,它具有 后Page.Load事件处理程序结束。这 过程是自动 ...
我想试试例如 声明创建一个按钮 -
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
和动态背后码5个复选框 -
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i <= 5; i++)
{
var chBox = new HtmlInputCheckBox();
Controls.Add(chBox);
}
}
但是,当我检查一些复选框,并按下按钮后,回发所有复选框 状态被删除。这意味着ASP.NET不会自动管理动态控件 的视图状态?我试图启用每个复选框和整个页面的视图状态,但它不起作用。 有人可以解释一下: 1.为什么会这样? 2.如何避免这种情况?
嗨。在我的评论中看到更新的代码,希望它能起作用。如果没有,给我写评论,我会看看我能否提供帮助。 – Kirtan 2009-04-15 16:43:03